现在需要写个程序检测本机上另一个程序往串口上面写了什么样的数据,如果虚拟串口写驱动没那么多时间,请问各位大侠有没有简便的方法?

解决方案 »

  1.   

    似乎只有filter driver,不知道还有没有其他的方法?gz
      

  2.   

    To Saliors:那么PC的COM1和设备A通信,用COM2监听,如何区分数据是COM1发出来的还是设备A发出来的?
      

  3.   

    可以用DLL注入的方法,如果是通过自己的程序加载被监控程序的话会比较容易,否则就麻烦些
    思路是修改应用程序的 IAT 表,间接引用 Kernel32.dll 的更复杂些
    主要在于修改 WriteFile/ReadFile 的 IAT 项
      

  4.   

    很简单咯。假如你COM2的接收线接的是COM1的发送线(设备A的接收线),那么看到的数据就是COM1发的;相反,如果接的是设备A的发送线(COM1的接收线),那么看到的数据就是设备A发的。
      

  5.   

    谢谢saliors!不过这种方法还是有局限,只能看到发送出去的数据,不能看到受到的数据是吗?
      

  6.   

    什么局限阿,都能看到阿。
    COM1发的数据就是设备收的数据;COM1收到的数据就是设备发的数据啊