如何调试第三方应用程序,看看按钮点击后会发生什么?

时间:2011-05-03 12:57:38

标签: debugging dll reverse-engineering

当我点击某个按钮时,我正在尝试确定第三方应用的功能。 应用程序可能是用C ++编写的。

此外,我猜测按钮单击时执行的所有代码都存储在单独的dll文件中,而不是存储在主exe文件中。这个猜测取决于单击某个dll文件的按钮和名称时会发生什么。 我检查了这个dll,它有三个extern(公共)函数。

我想要两件事:

  1. 如果甚至可以设置断点来捕捉按钮点击事件?

  2. 如何检测来自dll的三个extern函数何时被调用?

1 个答案:

答案 0 :(得分:1)

使用spy ++查找处理您感兴趣的按钮消息的tin wndproc,然后使用调试器(如ollydbg)有条件地断开按钮单击消息ID的proc。从那里它只是跟踪代码。要捕获这些dll函数,只需在包含它们的dll中设置断点,否则如果要从特定模块中捕获它,只需断开IAT中的跳转条目(在olly下,您可以使用查看所有导入/导出的符号ctrl + n)