[发明专利]重定位表的修复方法、程序脱壳方法及相关装置有效
申请号: | 201210587721.8 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103019739A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 陈锦;刘业欣 | 申请(专利权)人: | 北京神州绿盟信息安全科技股份有限公司;北京神州绿盟科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭红丽 |
地址: | 100089 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定位 修复 方法 程序 脱壳 相关 装置 | ||
1.一种重定位表的修复方法,其特征在于,包括:
记录运行加壳程序过程中产生的数据改写信息和模块加载信息,所述数据改写信息包括数据改写执行地址、数据改写地址、改写数据和数据改写时间,所述模块加载信息包括所述加壳程序映射到内存中的基地址和终止地址;
在确定所述加壳程序对应的原始程序的入口点OEP后,根据数据改写时间、数据改写地址和设定的组合规则将记录的数据改写信息中的改写数据进行组合,并根据模块加载信息和重定位表格式在组合后的改写数据中搜寻待选重定位表;
若搜寻到待选重定位表,获取在到达所述OEP的时刻所有重定位项指向内存地址的数据都存在于内存中、并且包含指向的内存地址最小的重定位项的待选重定位表为所述加壳程序对应的原始程序的重定位表;
若搜寻不到待选重定位表,根据记录的数据改写信息中包括数据改写执行地址、数据改写地址、改写数据和数据改写时间重新建立所述加壳程序对应的原始程序的重定位表。
2.如权利要求1所述的方法,其特征在于,根据数据改写时间、数据改写地址和设定的组合规则将记录的数据改写信息中的改写数据进行组合,具体包括:
在记录的数据改写信息中,将数据改写时间连续且数据改写地址连续的数据改写信息所对应的改写数据进行组合;和/或,
在记录的数据改写信息中,将数据改写时间连续、至少两个连续的数据改写地址循环的数据改写信息所对应的改写数据进行组合。
3.如权利要求1所述的方法,其特征在于,根据模块加载信息和重定位表格式在组合后的改写数据中搜寻待选重定位表,具体包括:
在所有改写数据的组合中搜寻符合下列条件的待选重定位表:
所有重定位块的头部包括基地址和地址长度都落入所述模块加载信息中包括的基地址和终止地址范围内,并且地址长度为偶数;
每个重定位块包含至少两个重定位项;
每个重定位项指向的数据改写地址在到达所述OEP的时刻之前最后两次的改写数据的差值等于所述加壳程序的默认加载基地址与所述加壳程序映射到内存中的基地址之差;
写入重定位项中的内存地址顺序排列。
4.如权利要求1所述的方法,其特征在于,根据记录的数据改写信息中包括数据改写执行地址、数据改写地址、改写数据和数据改写时间重新建立所述加壳程序对应的原始程序的重定位表,具体包括:
计算记录的数据改写信息中每个数据改写地址到达所述OEP的时刻之前最后两次的改写数据的差值;
获取计算的差值等于所述加壳程序的默认加载基地址与所述加壳程序映射到内存中的基地址之差的数据改写地址;
将获取的数据改写地址中对应的数据改写执行地址相同的数据改写地址分为一组;
从所有分组中选取到达所述OEP的时刻之前最后两次数据改写的数据改写地址顺序排列、且包含的数据改写地址最多的分组;
根据选取的分组中每条数据改写信息中包括的数据改写地址生成对应的重定位项;
将内存中的原始程序写入文件后,在所述文件末尾添加一个节,在该节中组合生成的重定位项得到重定位表,并修改所述文件头部的重定位信息指向得到的重定位表。
5.一种重定位表的修复装置,其特征在于,包括:
记录单元,用于记录运行加壳程序过程中产生的数据改写信息和模块加载信息,所述数据改写信息包括数据改写执行地址、数据改写地址、改写数据和数据改写时间,所述模块加载信息包括所述加壳程序映射到内存中的基地址和终止地址;
搜寻单元,用于在确定所述加壳程序对应的原始程序的入口点OEP后,根据数据改写时间、数据改写地址和设定的组合规则将记录的数据改写信息中的改写数据进行组合,并根据模块加载信息和重定位表格式在组合后的改写数据中搜寻待选重定位表;
确定单元,用于若所述搜寻单元搜寻到待选重定位表,获取在到达所述OEP的时刻所有重定位项指向内存地址的数据都存在于内存中、并且包含指向的内存地址最小的重定位项的待选重定位表为所述加壳程序对应的原始程序的重定位表;若所述搜寻单元搜寻不到待选重定位表,根据记录的数据改写信息中包括数据改写执行地址、数据改写地址、改写数据和数据改写时间重新建立所述加壳程序对应的原始程序的重定位表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州绿盟信息安全科技股份有限公司;北京神州绿盟科技有限公司,未经北京神州绿盟信息安全科技股份有限公司;北京神州绿盟科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210587721.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种甲烷检测报警仪壳体
- 下一篇:乳胶手套针孔率检测装置