[发明专利]一种程序处理方法及相关设备有效
申请号: | 201810717126.9 | 申请日: | 2018-07-03 |
公开(公告)号: | CN111913742B | 公开(公告)日: | 2022-11-11 |
发明(设计)人: | 周志刚;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/34 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 处理 方法 相关 设备 | ||
本发明实施例公开了一种程序处理方法及相关设备,用与在对待hook原始代码执行inlinehook操作时能兼容各操作系统。本发明实施例方法包括:确定待hook原始代码的内存地址;提取所述待hook原始代码的特征码,所述特征码用于在各操作系统中定位所述待hook原始代码;在目标操作系统中,从所述待hook原始代码的内存地址的起始位置查找并匹配所述特征码,所述目标操作系统包含于所述各操作系统;当查找到所述特征码并匹配成功时,确定目标偏移量,所述目标偏移量为从所述起始位置到查找到所述特征码的位置的偏移量;根据所述目标偏移量确定所述待hook原始代码在所述目标操作系统中的精确内存地址;根据精确内存地址在所述目标操作系统中对所述待hook原始代码执行inlinehook操作。
技术领域
本发明涉及控制技术领域,尤其涉及一种程序处理方法及相关设备。
背景技术
目前,对于基于Windows平台开发的一些软件来说,其功能也越来越丰富。同时,基于Windows平台的强大支撑,可以开发一些特殊功能的软件,如监控某个程序的所有读写文件,监控键盘输入,监控网络流量等等。然而对于Windows平台来说,很多功能都需要通过hook的方式来实现,例如监控一个程序打开的所有文件,则可以通过hook该打开文件的应用程序编程接口(application programming interface,API)函数,从而可以得到该打开文件的所有文件名。目前来说,hook的方式有很多种,而通过inlinehook则可以实现的功能更多,所谓inlinehook,指通过修改代码,来增加jump指令修改执行流程跳转到hook功能逻辑中。
然而,对于inlinehook来说,首先需要知道其需要hook模块的内存地址,而内存地址通常都需要通过查看该hook模块,通过具体函数找到。但是对于一个通用兼容更多操作系统版本的inlinehook来说,不同的系统版本可能其函数所在的模块的偏移是不一样的,从而对于不同的系统需要查看不同的函数地址,以及偏移。这样给inlinehook的通用性和兼容性都带来了麻烦,由于操作系统版本众多,如windows xp,windows 7,windows8,windows 10等等其他还有很多小版本,一旦某个系统没有兼容到,则可能导致程序在该系统上崩溃。那么如何编写一个通用的智能的兼容更多操作系统的inlinehook来说,则是非常重要的。
发明内容
本发明实施例提供了一种程序处理方法及相关设备,用于在对待hook原始代码执行inlinehook操作时能兼容各操作系统。
本发明实施例的第一方面提供了一种程序处理的方法,包括:确定待hook原始代码的内存地址;提取所述待hook原始代码的特征码,所述特征码用于在各操作系统中定位所述待hook原始代码;在目标操作系统中,从所述待hook原始代码的内存地址的起始位置查找并匹配所述特征码,所述目标操作系统包含于所述各操作系统;当查找到所述特征码并匹配成功时,确定目标偏移量,所述目标偏移量为从所述起始位置到查找到所述特征码的位置的偏移量;根据所述目标偏移量确定所述待hook原始代码在所述目标操作系统中的精确内存地址;根据所述精确内存地址在所述目标操作系统中对所述待hook原始代码执行inlinehook操作。
在一种可能的实施例中,所述确定当前程序是否被调试包括:所述确定待hook原始代码的内存地址包括:调用系统API函数GetModuleHandle获取所述待hook原始代码所在系统模块的内存地址;根据所述待hook原始代码所在系统模块的内存地址,调用系统API函数GetProcAddress获取所述待hook原始代码的内存地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810717126.9/2.html,转载请声明来源钻瓜专利网。