Как отладить стороннее приложение и посмотреть, что происходит при нажатии кнопки? - PullRequest
0 голосов
/ 03 мая 2011

Я пытаюсь определить, что делает стороннее приложение, когда я нажимаю определенную кнопку.Приложение, вероятно, написано на C ++.

Также я предполагаю, что весь код, который выполняется при нажатии кнопки, хранится в отдельном файле dll, а не в основном exe-файле.Это предположение делается на том, что происходит, когда вы нажимаете кнопку и имя определенного файла DLL.Я проверил эту dll, и она имеет три внешние (публичные) функции.

Я хочу две вещи:

  1. Как установить точку останова для отслеживания события нажатия кнопки, если оновозможно?

  2. Как определить, когда три внешних функции из dll вызывают?

1 Ответ

1 голос
/ 04 мая 2011

Используйте spy ++, чтобы найти wndprocs, обрабатывающий сообщения для интересующих вас кнопок, а затем используйте отладчик, такой как ollydbg, для условного прерывания процесса для идентификатора сообщения, нажатого кнопкой.Оттуда это просто прохождение через код.Чтобы поймать эти функции dll, просто установите точки останова на них внутри dll, которая их содержит, иначе, если вы хотите поймать ее из определенного модуля, просто остановите точку перехода в IAT (под olly вы можете просмотреть все импортированные / экспортированные символы, используяctrl + n)

...