[发明专利]Windows平台可执行文件API延迟导入保护方法有效
| 申请号: | 201310066958.6 | 申请日: | 2013-03-01 | 
| 公开(公告)号: | CN103116715A | 公开(公告)日: | 2013-05-22 | 
| 发明(设计)人: | 郑子琛 | 申请(专利权)人: | 中标软件有限公司 | 
| 主分类号: | G06F21/12 | 分类号: | G06F21/12 | 
| 代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 吴大建;钟日红 | 
| 地址: | 200030 上海*** | 国省代码: | 上海;31 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | windows 平台 可执行文件 api 延迟 导入 保护 方法 | ||
1.一种Windows平台可执行文件API延迟导入保护方法,其特征在于,包括:
启动调试器;
由所述调试器以调试方式启动用户目标程序,以生成目标进程;
所述目标进程通过触发断点异常的方式来通知所述调试器进行API导入及修改被调试程序的EIP。
2.根据权利要求1所述的方法,其特征在于,所述目标进程通过触发断点异常的方式来通知所述调试器进行API导入及修改被调试程序的EIP的步骤,包括:
所述调试器利用WaitForDebugEvent函数等待所述目标进程产生的调试事件;
所述调试器在检测到所述目标进程触发的调试事件时,判断该调试事件是否为断点异常事件;
在判断为是断点异常事件时,所述调试器进行API导入及修改所述目标进程的EIP。
3.根据权利要求1所述的方法,其特征在于,在所述目标进程通过触发断点异常的方式来通知所述调试器进行API导入及修改所述目标进程的EIP之前,所述目标进程注册筛选器异常处理函数,所注册的筛选器异常处理函数用于:若检测到所述目标进程所触发的断点异常被丢弃且所述目标进程被恢复运行,则所述目标进程进入死循环或退出。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述目标进程注册筛选器异常处理函数之后,产生第一指定异常事件;
所述调试器在检测到所述目标进程触发的所述第一指定异常事件时,对所述用户目标程序进行解密操作。
5.根据权利要求1所述的方法,其特征在于,所述目标进程通过触发断点异常的方式来通知所述调试器进行API导入及修改被调试程序的EIP的步骤,包括:
所述目标进程在要调用API时产生第二指定异常事件;
所述调试器在检测到所述目标进程触发的所述第二指定异常事件时,加载相应的DLL,计算出所述目标进程要调用的函数地址,并将该函数地址返回给所述目标进程。
6.根据权利要求5所述的方法,其特征在于,所述目标进程注册在要调用API时产生第二指定异常事件的步骤,包括:
在所述目标进程通过触发断点异常的方式来通知所述调试器进行API导入及修改所述目标进程的EIP之前,所述目标进程构造一个采用int3指令的机器码cc填充的int3表,然后修改其导入地址表(IAT),将其导入地址表中每一项按顺序指向该int3表。
7.根据权利要求6所述的方法,其特征在于,所述调试器在检测到所述目标进程触发的所述第二指定异常事件时、加载相应的DLL、计算出所述目标进程要调用的函数地址并将该函数地址返回给所述目标进程的步骤,包括:
计算发生异常的虚拟地址与int3表表头的偏移地址,得出调用API函数的序号;
若在所述导入地址表中查找到该序号对应的导入地址,则利用所述导入地址修正目标线程的上下文以使得所述目标线程调用该API函数。
8.根据权利要求6或7所述的方法,其特征在于,所述调试器在检测到所述目标进程触发的所述第二指定异常事件时、加载相应的DLL、计算出所述目标进程要调用的函数地址并将该函数地址返回给所述目标进程的步骤,包括:
计算发生异常的虚拟地址与int3表表头的偏移地址,得出调用API函数的序号;
若在所述导入地址表中未查找到该序号对应的导入地址,依据该序号确定相应的DLL名和API函数名,将确定的DLL名和API函数名写入到目标进程中预留的地址并修改目标线程上下文,以使得所述目标进程进行DLL装载并向所述调试器返回API入口地址;
所述调试器将从所述目标进程返回API入口地址保存到导入地址表中,修改所述目标线程上下文以使得所述目标线程调用该API函数。
9.根据权利要求1至7所述的方法,其特征在于,所述启动调试器的步骤包括:
用户运行用户目标程序;
目标程序的进程判断其是否正被调试,若判断为否,则目标程序触发调试器后退出,反之则进入目标程序执行后续的程序代码以完成用户所要实现的各种功能。
10.根据权利要求1至7所述的方法,其特征在于,所述调试器的进程以远程注入的方式注入到操作系统的进程中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310066958.6/1.html,转载请声明来源钻瓜专利网。





