在 MFC32 二进制文件中查找代码

逆向工程 拆卸 视窗 串行通讯 微信
2021-06-26 12:26:39

我试图找出与 MFC Win32 二进制文件上的串行端口交互的代码在哪里 - 并且完全不知道如何找到这个代码块。

我什至尝试过,比如说,在我单击按钮初始化串行通信然后单步执行之前停止该过程。程序立即返回错误。

我什至尝试在.data段中错误消息的字符串文本上设置断点,即使这样也没有断点。

这是什么原因造成的?为什么我不能单步执行一个过程来查看它与串行端口的联系位置?

它怎么可能隐藏在这个级别?

2个回答

我最终使用了 API Monitor 工具。进行了大量过滤,但我最终找到了对 CreateFileA 的引用。奇怪,因为 Ida Pro 没有在任何地方引用 CreateFileA。无论哪种方式,它都有效!谢谢!

您只需要使用 ollydbg 或类似的东西和断点ReadFileWriteFileCreateFile附加到所需的进程(如果您还需要有关连接本身的信息,例如波特率或类似信息,您也必须在SetCommState处设置断点。)

命中断点后,您只需跟随堆栈顶部的指针即可到达当前函数被调用的位置。