[发明专利]一种程序处理方法及相关设备有效
申请号: | 201810720086.3 | 申请日: | 2018-07-03 |
公开(公告)号: | CN110673899B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 周志刚;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 处理 方法 相关 设备 | ||
本发明实施例公开了一种程序处理方法及相关设备,用于提高在进行hook操作时,不被安全程序检测到的几率。本发明实施例方法包括:编写无作用汇编指令,该无作用汇编指令为不影响程序的执行功能的指令;根据该无作用汇编指令编写跳转代码和跳转桩代码,该跳转代码包括第一跳转代码和第二跳转代码;备份该待hook原始代码,将该待hook原始代码修改为该第一跳转代码;当执行到该待hook原始代码时,根据该第一跳转代码从该待hook原始代码跳转到该跳转桩代码,并暂停该程序中所有的线程;执行完成该跳转桩代码后,根据该第二跳转代码从该跳转桩代码跳转到备份的该待hook原始代码;恢复该程序中所有的线程,以继续执行该待hook原始代码。
技术领域
本发明涉及控制技术领域,尤其涉及一种程序处理方法及相关设备。
背景技术
目前,对于基于Windows平台开发的一些软件来说,其功能也越来越丰富。同时,基于Windows平台的强大支撑,可以开发一些特殊功能的软件,如监控某个程序的所有读写文件,监控键盘输入,监控网络流量等等。然而对于Windows平台来说,很多功能都需要通过hook的方式来实现,例如监控一个程序打开的所有文件,则可以通过hook该打开文件的应用程序编程接口(application programming interface,API)函数,从而可以得到该打开文件的所有文件名。目前来说,hook的方式有很多种,而通过inlinehook则可以实现的功能更多,所谓inlinehook,指通过修改代码,来增加jump指令修改执行流程跳转到hook功能逻辑中。
然而,对于游戏程序或者其他安全程序来说,为了阻止hook,通常都会对程序是否有进行hook来检测。因此,如何绕过游戏程序或者安全程序的检测以提高hook的成功率,是一个值得探究的问题。
发明内容
本发明实施例提供了一种程序处理方法及相关设备,用于提高在进行hook操作时,不被安全程序检测到的几率。
本发明实施例的第一方面提供了一种程序处理方法,包括:编写无作用汇编指令,所述无作用汇编指令为不影响程序的执行功能的指令;根据所述无作用汇编指令编写跳转代码和跳转桩代码,所述跳转代码包括第一跳转代码和第二跳转代码,所述第一跳转代码用于从所述程序中待hook原始代码跳转到所述跳转桩代码,所述第二跳转代码用于从所述跳转桩代码跳转到所述待hook原始代码,所述跳转桩代码包括需插入的inlinehook逻辑代码,所述跳转桩代码用于保存所述程序中待hook原始代码的执行环境;备份所述待hook原始代码,将所述待hook原始代码修改为所述第一跳转代码;当执行到所述待hook原始代码时,根据所述第一跳转代码从所述待hook原始代码跳转到所述跳转桩代码,并暂停所述程序中所有的线程;执行完成所述跳转桩代码后,根据所述第二跳转代码从所述跳转桩代码跳转到备份的所述待hook原始代码;恢复所述程序中所有的线程,以继续执行所述待hook原始代码。
在一种可能的实施例中,所述根据所述无作用汇编指令编写跳转代码和跳转桩代码包括:根据所述跳转桩的内存地址和所述待hook原始代码的内存地址计算跳转的偏移地址;根据所述跳转的偏移地址和所述无作用汇编指令编写所述跳转代码;根据所述inlinehook逻辑代码和所述inlinehook逻辑代码的内存地址生成初始跳转桩代码;调用系统的API函数byTrpJmpPadCode存储所述初始跳转桩代码;将所述无作用汇编指令插入所述初始跳转桩代码,以得到所述跳转桩代码。
在一种可能的实施例中,所述将所述待hook原始代码修改为所述第一跳转代码包括:调用系统API函数VirtualProtectEx将所述待hook原始代码的内存属性从只读可执行修改为可写可执行;通过系统API函数WriteProcessMemory将所述待hook原始代码修改为所述第一跳转代码。
在一种可能的实施例中,所述暂停所述程序中所有的线程包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810720086.3/2.html,转载请声明来源钻瓜专利网。