如何监听第三方程序对指定串口的读写数据?

hook 该函数获取串口信息 和  lpDCB 数据
BOOL BuildCommDCBA(
  LPCSTR lpDef,
  LPDCB  lpDCB
);

hook 该函数比较上面函数获得到的 lpDCB  数据,如果相同则获取 hFile 句柄。
BOOL SetCommState(
  HANDLE hFile,
  LPDCB  lpDCB
);

hook 写函数并比较 hFile 值,如果相等则转发发送的数据
BOOL WriteFile(
  HANDLE       hFile,
  LPCVOID      lpBuffer,
  DWORD        nNumberOfBytesToWrite,
  LPDWORD      lpNumberOfBytesWritten,
  LPOVERLAPPED lpOverlapped
);

hook 读函数并比较 hFile  值,如果相等则转发发送的数据
BOOL ReadFile(
  HANDLE       hFile,
  LPVOID       lpBuffer,
  DWORD        nNumberOfBytesToRead,
  LPDWORD      lpNumberOfBytesRead,
  LPOVERLAPPED lpOverlapped
);

原文地址:https://www.cnblogs.com/cheungxiongwei/p/10649614.html

时间: 2024-10-12 20:21:17

如何监听第三方程序对指定串口的读写数据?的相关文章

如何监听第三方应用程序(SOAP or RESTful 客户端)访问HTTPS网站时的数据?

随着互联网的应用越来越多,在我们的日常开发和调试当中(比如调试SOAP和RESTFul的时候),我们常常需要访问用第三方的工具访问HTTPS的网站,为了简化描述,本文使用IE浏览器访问Google 提供的https://www.googleapis.com/discovery/v1/apis RESTful服务为例,注意这个是基于https协议的访问,如果用第三方的嗅探工具,比如wiresharp,即使我们能把http的数据包抓到,显示出来的内容也是乱码,因为传送的内容经过了加密,而加密的私钥就

Android监听应用程序安装和卸载

第一. 新建监听类:BootReceiver继承BroadcastReceiver package com.rongfzh.yc; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootReceiver extends BroadcastReceiver{           @Override      p

ios 定位 监听是否跨入某个指定的区域

/*****监听用户是否进入和走出 在某个区域*****/ 1 #import "ViewController.h" 2 #import <CoreLocation/CoreLocation.h> 3 4 5 @interface ViewController ()<CLLocationManagerDelegate> 6 7 /** */ 8 @property (nonatomic, strong) CLLocationManager *locationM;

java实现服务端守护进程来监听客户端通过上传json文件写数据到hbase中

1.项目介绍: 由于大数据部门涉及到其他部门将数据传到数据中心,大部分公司采用的方式是用json文件的方式传输,因此就需要编写服务端和客户端的小程序了.而我主要实现服务端的代码,也有相应的客户端的测试代码.这里须有一个需要提到的是,我在实现接收json文件的同时,而且还需将数据写到hbase中.写入到hbase当中采用的是批量插入的方式,即一次插入多条记录. 好了,有了前面的说明,下面来简单的说一下我实现的服务端的小程序把. 2.为了实现服务端能够监听客户端的行为,因此我在服务端采用多线程的技术

浅谈VUE,使用watch方法监听父组件传到子组件的数据。

props:['updateData'], data(){ return{ form: { _name:'', }, } }, 第一步接收数据: props:['updateData'] 第二步动态改变值: mounted(){ this.form._name = this.updateData._name; }, 第三步使用watch监听 updateData数据 watch:{ updateData: function (newVal ,oldVal){ //不能用箭头函数 this.for

Windows 8 应用程序前后台切换事件监听

在一些情况下,我们需要监听应用程序切换到后台或者从后台切换至前台的事件,从而进行相关处理操作.支付宝应用锁屏(IOS,Android平台)的处理中就需要监听此事件,在用户将应用切换至后台一段时间后再切换至前台的情况下就需要弹出锁屏页面. 下图给出Windows 应用商店应用的生命周期图,应用前后台切换就是在运行和挂起直接进行切换,关于生命周期的详细介绍可以参阅官方文档:http://msdn.microsoft.com/zh-cn/library/windows/apps/hh464925.as

Python黑客编程基础3网络数据监听和过滤

Python黑客编程3网络数据监听和过滤 课程的实验环境如下: •      操作系统:kali Linux 2.0 •      编程工具:Wing IDE •      Python版本:2.7.9 •      涉及到的主要python模块:pypcap,dpkt,scapy,scapy-http 涉及到的几个python网络抓包和分析的模块,dpkt和scapy在kali linux 2.0 中默认已经被安装,如果你的系统中没有需要手动安装一下,下面是软件包安装的简单说明. 在kali下

Python黑客编程3网络数据监听和过滤

Python黑客编程3网络数据监听和过滤 课程的实验环境如下: ?      操作系统:kali Linux 2.0 ?      编程工具:Wing IDE ?      Python版本:2.7.9 ?      涉及到的主要python模块:pypcap,dpkt,scapy,scapy-http 涉及到的几个python网络抓包和分析的模块,dpkt和scapy在kali linux 2.0 中默认已经被安装,如果你的系统中没有需要手动安装一下,下面是软件包安装的简单说明. 在kali下

【转】C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁

第一篇文章我相信很多人不看都能做的出来,但是,用过微软SerialPort类的人,都遇到过这个尴尬,关闭串口的时候会让软件死锁.天哪,我可不是武断,算了.不要太绝对了.99.9%的人吧,都遇到过这个问题.我想只有一半的人真的解决了.另外一半的人就睁只眼闭只眼阿弥佗佛希望不要在客户那里出现这问题了. 你看到我的文章,就放心吧,这问题有救了.我们先回顾一下上一篇中的代码 [c-sharp] view plaincopy void comm_DataReceived(object sender, Se