基于API Hook技术的虚拟串口的实现.pdf

基于API Hook技术的虚拟串口的实现.pdf

ID:51446454

大小:193.25 KB

页数:3页

时间:2020-03-24

基于API Hook技术的虚拟串口的实现.pdf_第1页
基于API Hook技术的虚拟串口的实现.pdf_第2页
基于API Hook技术的虚拟串口的实现.pdf_第3页
资源描述:

《基于API Hook技术的虚拟串口的实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、函经验交流基于APIHook技术的虚拟串口的实现刘洋吴熠铭黄可嘉林创鲁(广东省科学院自动化工程研制中心)摘要:随着无线技术的日益发展,无线传输技术应用越来越被各行各业所接受。而现有的很多成熟应用系统依然使用串口通信方式,把它们从传统的有线方式迁移到无线监控领域己迫在眉睫,虚拟串口于是应运而生。本文提出采用APHHook技术架构的虚拟串口,克服了现有的基于驱动程序结构的虚拟串口存在的稳定性欠佳的问题,而且灵活方便,平台兼容性更广。关键词:虚拟串口;APIHook;Pipe序来实现的。它是在操作系统上利用虚拟UO技术建1引言立虚拟串口设备来模拟一个串口。它的特点

2、是全局性串行通信接口(简称串口),按电气标准及协议和便捷性。但其缺点也相当明显,就是稳定性欠佳。可分为RS一232.C、RS~22与RS.485,无论那种标准,都只对接口的电气特性做出规定,其软件协议都是一用户应用程序亡致的。串口作为工业控制领域最常用的一种通讯接系统API库口,自1970年标准化至今已近40年时间[1】。然而随~ndows操作系统着无线技术的日益发展,无线传输技术应用越来越被各行各业所接受。无线监控作为一个特殊使用方式也硬件串口设备虚拟串口设备逐渐被广大用户看好,其安装方便、灵活性强、性价比高等特性,使更多行业的监控系统乐于采用无线监图1普

3、通虚拟串口结构控方式,用于建立被监控点和监控中心之间的连接。2.2APIHook钩子技术无线监控技术已经在现代化住宅小区、交通、运输、APIHo0k(钩子)技术是消息处理中的一个环节,水利、航运、治安、消防等领域得到了广泛的应用。用于监控消息在系统中的传递,并在这些消息到达最但现有的很多成熟应用系统依然使用RS232方式,有终的消息处理过程前,处理某些特定的消息。简单的迫切的需要把它们从传统的有线方式迁移到无线监说就是改变程序流程的技术。它有一个重要原则:被控领域,虚拟串口于是应运而生。Hook的API的原有功能不能受到任何影响。如果API2虚拟串口被Hoo

4、k之后,其原有功能失效,这样操作不能称之串口通讯,不论RS~32.C、RS~22或是RS~85为Hook,而是替换取代。因为操作系统的正常功能标准,其通讯协议都是一样的。对于Wmdows系统受到影响,甚至可能会引发系统崩溃。2.3基于APIHook技术的虚拟串口而言,都叫做COM口。虚拟串口并不是物理上存在图2为本文所提出的创新型APIHook虚拟串口,的串口,而是使用虚拟手段模拟出来的,具备物理串它采用APIHook技术[2J,避免使用系统内核驱动程口全部的逻辑特征。使用户程序在操作上无法判断所序,很好的解决了常规虚拟串口的稳定性问题。因为使用的究竟是物理

5、串口还是虚拟串口。2.1常规的虚拟串口APIHook虚拟串口是工作在用户态的,它通过API常规的虚拟串口(如图1所示)是通过虚拟驱动程Hook手段,改变系统API函数的功能,重定向串口2010年第3期自动化与信息工程43数据,“欺骗”用户程序来实现的[3]。而且由于在基于APIHook的虚拟串口软件主要由3个独立Windows系统上,程序空间的独立性,使得基于API的模块实现:加载器(Loader),虚拟串口接口,管Hook虚拟串口只针对特定程序有效,这能大幅提高道(Pipe)模块:系统的安全性和可靠性。(1)、加载器:负责创建目标进程和加载虚拟串口接口。(

6、2)、虚拟串口接口:所有虚拟串口的操作都在这个模块实现,包括注册虚拟串口设备,创建Pipe,初始化虚拟串口,读写虚拟串口,卸载关闭接口,共5部分。(3)、Pipe模块:图2基于APIHook技术的虚拟串口结构由虚拟串口接口所创基于APIHook技术的虚拟串口和普通虚拟串口建,单独负责与外部的技术优势比较如表l所示:加设备通讯。表1技术优势比较表图3系统工作流程图系统工作流程如特点对比普通虚拟串口[】基于APIHook的新型虚拟串口图3所示。稳定性一般极高安全性低高3.1加载虚拟串口接口区域性全局独立隔离基于APIHook技术的虚拟串口是以DLL(动态灵活性低

7、高链接库)的形式存在的,需要加载至目标用户程序的可靠性中等优秀代码空间才能发挥作用,使用加载器Loader就能达复杂度高由到这一目的。兼容性中高Loader的结构比较简单:通过CreateProcess带2.4基于APIHook的虚拟串口的实现CREATESUSPENDED标志创建并挂起目标进程,APIHook虚拟串口使用APIHook技术,在系统让目标程序暂停运行后,通过WriteProcessMemory用户层注入一个接口模块。这个接口模块在系统中起写入启动代码,然后调用CreateRemoteThread以执行到Filter(过滤)的作用。对于普通的文

8、件操作全部LoadLibrary命令来加载虚拟串口接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。