我什至尝试过,例如,请在单击按钮以初始化串行通信然后逐步执行之前停止该过程。程序立即返回错误。
我什至尝试在
.data
段中的错误消息的字符串文本上设置断点,甚至没有断点。是什么原因造成的?为什么我不能单步执行操作以查看其与串行端口的连接位置?
它如何可能隐藏在此级别?
#1 楼
我最终使用了工具API Monitor。进行了大量筛选,但最终找到了对CreateFileA的引用。奇怪的是,因为Ida Pro在任何地方都没有引用CreateFileA。无论哪种方式,它都有效!谢谢!评论
它是静态链接还是动态链接的可执行文件?如果是动态的,则对CreateFileA的调用可能在MFC dll之一中,而不是在可执行文件本身中。
–伊恩·库克(Ian Cook)
16-10-22在6:11
与直接API调用相比,MFC应用程序更可能对I / O使用CFile或CArchive类之类的东西。
–伊戈尔·斯科钦斯基♦
16-10-22在7:33
评论
您可以使用哪些工具来完成这项工作?同样,根据程序的不同,它可以使用/需要一个特定的驱动程序来与串行端口进行通信,或者可以仅使用CreateFile或其本机副本NtCreateFile。但是通常,当涉及到与驱动程序的通信时,您可以期望会调用诸如CreateFile之类的东西。 Windows与Unix并没有什么不同,因为对象管理器名称空间也只有一个根,并且您以与读取/写入文件相同的方式与设备通信。