当我点击某个按钮时,我正在尝试确定第三方应用的功能。 应用程序可能是用C ++编写的。
此外,我猜测按钮单击时执行的所有代码都存储在单独的dll文件中,而不是存储在主exe文件中。这个猜测取决于单击某个dll文件的按钮和名称时会发生什么。 我检查了这个dll,它有三个extern(公共)函数。
我想要两件事:
如果甚至可以设置断点来捕捉按钮点击事件?
如何检测来自dll的三个extern函数何时被调用?
答案 0 :(得分:1)
使用spy ++查找处理您感兴趣的按钮消息的tin wndproc,然后使用调试器(如ollydbg)有条件地断开按钮单击消息ID的proc。从那里它只是跟踪代码。要捕获这些dll函数,只需在包含它们的dll中设置断点,否则如果要从特定模块中捕获它,只需断开IAT中的跳转条目(在olly下,您可以使用查看所有导入/导出的符号ctrl + n)