Необходимо узнать, откуда вызывается интересующая меня процедура. Установка бряка на первую инструкцию данной процедуры срабатывает, однако OllyDbg показывает пустой Call Stack. В этой теме мне уже отвечали по поводу возможной причины возникновения подобных ситуаций (приложение защищено VM Protect), однако никаких return'ов на стеке я не обнаружил (по крайней мере, неподалёку от ESP). Не исключаю, что не так что-то понял. Как именно определить "свдиг" ESP по return'ам на стеке? Можете привести пример, пожалуйста?
Ладно, предположим, что проблема вовсе не в "сдвиге" ESP. Возможно, что данная процедура является стартовой для какого-то background thread'а (звучит логично, т.к. приложение многопоточное, и данная процедура вызывается на каждую операцию логгирования в приложении), однако поиск ссылок (Ctrl-R) и устанока бряков на каждой из них не дали срабатывания.
Подскажите, в чём ещё может быть дело? Или, вероятнее всего, причина всё же в "сдвиге" ESP? Если так, то не могли бы Вы, пожалуйста, дать мне какую-то дополнительную информацию по этому поводу или кинуть ссылку, где об этом можно почитать?
ant_man пишет: Если есть подозрение на процедуру потока, почему не попробовать бряк на CreateThread?
Попробовать можно, но, думаю, там пул потоков или, по крайней мере, глобальная очередь сообщений, которая содержит все записи, которые должны попасть в лог приложения.
unknownproject пишет: Вм протект не даст установить софтварный/хардварный бряк на апи без предварительной лоботомии, если что. Прр, а что бы увидеть кал стак не нужно прерываться?