[发明专利]通用自动化脱壳引擎与方法无效
申请号: | 200710049855.3 | 申请日: | 2007-08-27 |
公开(公告)号: | CN101154259A | 公开(公告)日: | 2008-04-02 |
发明(设计)人: | 曹跃;李毅超;黄克军;柴方明;罗尧 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610054四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及计算机二进制加壳程序的通用自动化脱壳引擎和方法。该系统由反汇编部件、虚拟执行部件、脱壳监控部件和程序重构部件组成。该方法是:调试方式启动目标程序,反汇编部件获取目标程序的汇编指令,虚拟执行部件切片生成相应的基本块并虚拟执行指令。脱壳监控部件检测目标程序的写内存行为,记录所有的写内存区域。监控目标程序控制流跳转到新写内存区域的行为,以此判定脱壳过程结束。程序重构部件搜集所有新写内存区域的数据,采用内存转储、输入表重构等技术,生成原始二进制程序。本发明适用于对未知加壳程序的快速通用脱壳,辅助特征码检测方法。无需加壳程序的特征,同时具有很小的运行负载。 | ||
搜索关键词: | 通用 自动化 脱壳 引擎 方法 | ||
【主权项】:
1.通用自动化脱壳引擎,其特征在于包括如下组成部件:反汇编部件:虚拟执行部件获取目标二进制程序的代码流,由反汇编部件生成对应的汇编代码,逐条分析得到的汇编指令。当遇到控制转移指令,或基本块的累计指令数目超出用户定义的范围时,设置为该基本块的结束。反汇编部件用于动态构建与目标代码流相一致的虚拟执行基本块。虚拟执行部件:虚拟执行部件针对反汇编部件生成的不包含控制转移指令的基本块,为提高运行效率进行相应的执行预处理,并将基本块存放于内部的执行缓存内,最终虚拟执行基本块中的每条指令。用户停止监控分析后,虚拟执行部件将控制权返回给目标二进制程序,按正常执行模式继续运行。脱壳监控部件:加壳程序在脱壳过程中,必然包含原始数据的解压缩和解密,在内存中生成新的指令和数据,最后也必然会将控制权转移给原始二进制程序。通过对这两类行为的分析和监控,可以得到通用的脱壳算法和流程,以适应各种未知加壳程序的环境。程序重构部件:在内存中解压缩解密后的指令和数据,通过转储可以生成得到对应的二进制文件。但还需要对原始PE文件结构的重新构建,其中主要包括对应的输入表信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200710049855.3/,转载请声明来源钻瓜专利网。
- 上一篇:气象要素实时数据中奇异值的剔除方法
- 下一篇:治疗慢性肝炎的中药