[发明专利]一种基于动态库API拦截的数据采集方法及系统在审
申请号: | 201410083145.2 | 申请日: | 2014-03-07 |
公开(公告)号: | CN103902284A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 崔培枝;刘海燕;孙岩;王青海;何国良;崔伟宁;吴迪;黄俊卿 | 申请(专利权)人: | 中国人民解放军装甲兵工程学院 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李迪 |
地址: | 100072*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 api 拦截 数据 采集 方法 系统 | ||
1.一种基于动态库API拦截的数据采集方法,其特征在于,该方法包括:
确定目标信息系统中将被替换的动态库及其位置;
编写与被替换动态库同名的新的替换动态库,在替换动态库中实现被替换动态库的API功能,并将被替换动态库更改为其它名字;
应用程序调用替换动态库的API,替换动态库获取目标信息系统处理或传输过程中的数据,并将数据发送给采集管理端;
采集管理端接收数据后,对其进行解析和处理后,写入采集数据库。
2.根据权利要求1所述的方法,其特征在于,所述确定目标信息系统中被替换动态库的位置,具体包括:
利用Windows资源管理器,在Windows系统目录和目标信息系统目录下搜索文件,文件名为被替换动态库的名字;
将所有搜索到的结果文件分别更名,重新启动处理或传输服务,若提示缺少此动态库,说明相应文件下的动态库即为被替换的目标动态库。
3.根据权利要求1所述的方法,其特征在于,所述编写与被替换动态库同名的新的替换动态库,具体包括:
若传输服务提供了二次开发接口的动态库及相应的LIB文件,且对应的头文件以API形式给出用于上层应用调用,则采用隐式链接或显式链接的方式接将被替换动态库的文件映射进调用线程的地址空间;
若传输服务没有提供二次开发接口,则利用反汇编工具找出被拦截动态库所提供的所有API函数名及完整的参数定义格式,在新的动态库中分别定义与原有API同名的函数及指向API的指针,并采用显式链的方式接将被替换动态库的文件映射进调用线程的地址空间。
4.根据权利要求3所述的方法,其特征在于,所述隐式链接是指连接一个应用程序时指定一组LIB文件,每个LIB文件中包含了动态库文件允许应用程序调用的函数列表,则当链接器查到应用程序调用某个动态库文件的LIB文件中给出的函数时,在生成的EXE文件映像中加入信息,指出包含有函数的动态库文件的名称;所述显式链接是指利用LoadLibrary函数使得动态库文件被映射到进程的地址空间。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:对新的替换动态库进行调试。
6.根据权利要求5所述的方法,其特征在于,所述对新的替换动态库进行调试,具体包括:利用记日志的方式跟踪程序内部的执行情况,并根据日志信息的“错误”提示,不断地改进新的替换动态库的功能。
7.一种基于动态库API拦截的数据采集系统,其特征在于,该系统包括:数据采集端、采集管理端及采集数据库;
数据采集端,用于确定将被替换的动态库及其位置,编写与被替换动态库同名的新的替换动态库,并在替换动态库中实现被替换动态库的API功能,将被替换动态库更改为其它名字;利用替换动态库获取目标信息系统处理或传输过程中的数据,并将数据发送给采集管理端;
采集管理端,用于接收数据后,对其进行解析和处理后,写入采集数据库。
8.根据权利要求7所述的系统,其特征在于,所述采集管理端包括:数据采集子单元、数据解析子单元及数据写入子单元;
数据采集子单元,用于采集替换动态库发来的数据;
数据解析子单元,用于对接收的数据进行解析;
数据写入子单元,用于将解析后的数据写入采集数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军装甲兵工程学院,未经中国人民解放军装甲兵工程学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410083145.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种环保家装装修工艺
- 下一篇:多用途脚踏式动力板