首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 656 毫秒
1.
自修改代码混淆方法是一种隐藏程序重要信息的有效技术。为减少代码混淆造成的额外开销而又不影响代码混淆的质量,利用程序流敏感分析方法选择比较重要的指令进行混淆。为提高代码混淆的质量,有效地防止反汇编,提出一个二步比较混淆模型。该模型包括两个子混淆器,混淆器1采用程序流敏感分析方法获得混淆的指令并产生两个混淆代码文件和一个混淆代码映射文件。混淆器2通过比较两个混淆代码文件精确地定位混淆指令在二进制代码中的位置,然后利用混淆代码映射文件对二进制代码进行混淆,以进一步提高代码混淆的质量。通过实验分析,混淆后二进制文件的额外开销只占整个代码的3%左右,并且混淆后的反汇编代码明显异于原始的反汇编代码,甚至出现了一些无法识别的错误指令。  相似文献   

2.
软件通常以二进制文件的PE格式发布,但它不利于阅读和分析.通过反汇编分析器可以将二进制文件转化成高级语言的汇编指令,从而有利于对目标代码的分析,方便对目标代码进行软件保护相关的操作.实验表明,线性扫描和递归遍历相结合的反汇编分析算法取得较好的效果.  相似文献   

3.
反汇编技术是二进制代码分析的基础,传统的静态反汇编方法存在着数据代码混编和间接跳转指令等带来的反汇编困难.为此,本文提出了一种动静结合的代码反汇编框架DTBC.在DTBC中,静态反汇编引擎根据传统反汇编算法实现代码的静态反汇编,通过代码分析技术标记程序中的敏感指令;符号执行引擎利用混合符号执行技术和约束求解器生成可达敏感指令的程序输入;动态仿真引擎模拟不同输入条件下的程序执行过程,通过监控代码的执行路径达到反汇编求精的目的.实验模拟的结果表明,DTBC能够有效提高代码反汇编的准确性和覆盖率.  相似文献   

4.
静态反汇编算法研究   总被引:1,自引:0,他引:1  
恶意代码通常都是以二进制代码形式发布的,利用这种形式的代码来分析程序的逻辑功能是非常困难的,而如果利用反汇编器将二进制代码转化为较容易理解的汇编代码将更利于对恶意代码的分析,因而研究二进制代码的反汇编算法显得极为重要。首先介绍两种传统的静态反汇编算法:线性遍历和递归遍历算法,分析它们的优点以及存在的问题,最后介绍现代静态反汇编算法的一些新的研究进展。  相似文献   

5.
一种基于重定位信息的二次反汇编算法   总被引:1,自引:1,他引:1  
反汇编技术是静态分析二进制程序的基础,目前广为采用的反汇编算法是线性扫描和递归行进算法。前者无法正确处理代码段中嵌入数据的情况,后者则必须解决间接跳转目的地址的预测问题。本文介绍了这两种算法的原理,分析了其存在的问题,并利用二进制文件中旬重定位信息对它们进行了优化。将优化后的两种方法结合起来,给出了一种新颖的二次反汇编算法,这种算法能够捕获反汇编过程中出错的情况,从而控制错误传播,并使得基于反汇编代码的应用可以针对出错情况进行相应的处理。  相似文献   

6.
介绍了指令集识别器的设计思想与实现流程。通过对大量二进制目标代码、汇编源代码和反汇编代码的统计研究,基于统计分类方法,提取代码结构中所体现的整体性特征和编程风格中所体现的规律性特征,形成了树形的识别特征指标体系。  相似文献   

7.
基于IDA-Pro的软件逆向分析方法   总被引:1,自引:0,他引:1       下载免费PDF全文
二进制程序转换作为软件逆向分析的主要手段发挥着积极作用。该文给出一种程序转换方法,应用软件二进制程序经IDA Pro反汇编得汇编语言程序,依据下推自动机原理设计汇编文法识别该汇编文件、制定相应的转换规则和优化措施将汇编语言转换成中间语言。转换所得中间语言可读性较强,具有通用性且易于理解。该方法达到了较高的自动化程度,缩小了目标程序的代码量,其应用可有效地减少软件分析和调试人员在追踪代码时所需的时间和工作量。给出应用上述方法进行程序转换的实例。  相似文献   

8.
宋威  曾勇军  奚琪 《计算机工程》2012,38(1):68-70,73
为在不修改二进制代码的情况下提高反汇编的准确性和覆盖率,提出一种静态分析与动态仿真相结合的反汇编技术。在传统静态反汇编算法的基础上,利用代码仿真环境构造动态基本块标记算法,通过监控代码的执行路径达到反汇编求精的目的。测试结果证明了该方法的有效性。  相似文献   

9.
软件安全逆向分析中程序结构解析模型设计   总被引:2,自引:0,他引:2  
提出了一种基于二进制文件的程序结构解析模型。该模型通过对二进制文件反汇编,去除汇编文件中的冗余信息,对汇编文件进行静态分析,构建带有索引依赖信息的基本块,并以该基本块为基础提取二进制程序的内部控制流与函数调用关系信息,最后给出程序内部控制流图以及函数调用关系图。该模型不依赖程序的源文件,以二进制文件为分析对象,实用性和通用性比较好;实验结果表明模型对二进制程序内部结构解析具有较高的准确性。  相似文献   

10.
崔晨  李清宝  胡刚  王炜 《计算机科学》2012,39(7):302-204,316
反汇编是固件代码逆向分析的重要研究内容,其正确性直接影响固件代码逆向分析的准确性。固件代码结构具有特殊性,针对上层应用程序的反汇编算法大都不能直接用于固件代码的反汇编。中断向量表是固件代码的重要组成部分,从中断向量开始对中断服务子程序进行反汇编,可提高固件代码反汇编的精度。通过对固件代码结构特点的研究分析,介绍了中断向量表的重构方法,提出了一种基于中断向量表重构的固件代码反汇编技术。经测试分析,与传统的静态反汇编技术相比,基于中断向量表重构的固件代码反汇编技术不仅能够对固件代码中的主函数进行反汇编,还能够对中断服务子程序进行反汇编,反汇编精度平均提高了8.72%。  相似文献   

11.
反汇编结果的代码结构分析在程序解读、可执行程序编辑、软件维护、程序理解以及编译器设计中有重要的作用与意义.本文提出了一种对主流微处理器二进制代码逆向还原到汇编级代码后进行结构分析的算法,给出了该算法的形式化描述和结构分析结果的记录方法,并且根据该算法在二进制代码辅助分析系统中的应用情况,给出了实验数据.试验数据表明,该算法在多款处理器目标代码的分析过程中都有较高的结构分析准确度和执行效率.  相似文献   

12.
工程实践中,出于项目开发维护、程序调试,或者逆向工程的需要,经常需要对二进制代码进行反汇编。针对Cortex-M3处理器bin格式代码反汇编程序的总体设计思路以及一些技术难点,给出程序总体结构和技术难点解决思路,最后利用实现的反汇编程序给出LPC1768处理器的反汇编实例。无论是工程实践,还是学习ARM指令系统,或者是C语言编程实践,该项目都是极好的课题。  相似文献   

13.
研究人员通过深入分析大量已公开漏洞的触发成因,将存在安全缺陷的代码抽象为漏洞模式。二进制静态漏洞挖掘技术的核心思想,就是在对二进制程序反汇编得到汇编代码的基础上,以漏洞模式为指导进行安全缺陷检测。文章对缓冲区溢出漏洞、数组越界漏洞、写污点值到污点地址漏洞模式进行了总结,并使用XML对漏洞模式作了形式化描述。  相似文献   

14.
软件开发商通过向用户提供补丁程序来修改软件中存在的安全漏洞。但随着安全漏洞研究者不断提高分析安全补丁的能力和速度,厂商开始向公众封闭与安全补丁相关的漏洞技术细节,仅提供软件打补丁前后的二进制代码,由此引发了二进制代码比较技术研究的热潮。二进制代码比较技术的目的是定位执行代码间的差异,从而获得补丁所修补的漏洞细节。本文提出了一种基于反汇编技术,定位执行代码间语义差异,从而完成二进制安全补丁分析的方法。描述了该技术模型、系统框架和关键技术,并通过实践证明此方法可以快速有效地定位安全补丁所修补的软件漏洞。  相似文献   

15.
一种基于中断处理机制的动态反汇编算法   总被引:1,自引:0,他引:1  
杨慕晗 《计算机科学》2008,35(12):280-284
传统的反汇编是静态进行的,它难以处理逻辑陷阱、花指令、代码中的数据、动态控制流等问题,这就导致其最终的反汇编结果可能不完整,存在错误.一段特意设计的代码,可以用动态控制流替代静态控制流;一段特意设计的花指令,可以让静态控制流关系任意复杂,这都将使静态反汇编分析难以进行.让代码运行起来,动态地进行反汇编,可以解决上述静态反汇编遇到的问题.结合计算机的中断处理机制,使得代码的实际执行路径是可知的.针对实际执行到的计算机指令进行反汇编,确保了反汇编结果的准确性;反复执行代码,在时间上进行积累,可以确保反汇编结果的完整性不断增加并趋于完整.  相似文献   

16.
静态反汇编是对程序进行逆向工程的第一步,它将程序的可执行机器码以汇编指令代码的形式表示,给盗用软件知识产权和发掘软件漏洞提供了可能。为了混淆静态反汇编过程,增加对程序进行反汇编的难度,本文深入研究基于分支函数的静态反汇编混淆技术,针对其隐蔽性较差和代码执行效率低下的缺点,提出一种改进的分支函数静态反汇编混淆技术。改进后的混淆技术不仅能够有效地隐藏程序中的跳转指令,提高了代码的执行效率,同时增加了软件逆向工程分析的难度。  相似文献   

17.
在智能仪器技术迅速发展的今天,新产品、新技术的跟踪消化显得更加重要.熟悉一台产品,也可为日后设备的维修带来方便.众所周知,智能仪器中EPROM内所固化的软件都是经过汇编的二进制机器代码,通常可用普通编程器将其读出来,然后,要借助于反汇编软件才能将其还原成可读的汇编源程序.然而,目前市场上流行的MCS-96单片机仿真开发系统,只有极简单的反汇编功能,使得反汇编的结果中,跳转指令无标号,解读起来非常困难;反汇编时,不能区分程序指令区和数据区,从而使反汇编结果中引起许多错误;而且在反汇编过程中,不能进行人工干预等.  相似文献   

18.
深入地分析了"dcc"对库函数的研究,针对运行在ARM处理器上的应用程序,对静态库函数识别提出在二进制级别上动态提取库函数特征文件的方法.该方法利用ARM处理器汇编特征提取函数模块,并在此基础上根据汇编代码的寻址方式编码特征提取模式文件并进行动态签名的生成,结合哈希算法对生成的待识别应用程序函数签名和已有签名文件进行特征匹配,识别库函数相关信息.该方案能准确的识别库函数,并有效地解决识别过程中库文件过多和匹配效率之间的矛盾.  相似文献   

19.
在二进制代码中识别密码算法对于查找恶意代码,保护计算机系统安全有着重要的意义,文章分析了密码算法的静态特征码和统计特征,并介绍具体静态特征码,以及相似性判定的的统计特征识别,研究的成果可以为鉴别二进制代码中的密码算法提供重要参考。  相似文献   

20.
二进制代码比较技术在病毒变种分析,安全补丁分析,版本信息导出等许多领域都有着广泛的应用。在定义了基于图的二进制代码描述方法的基础上,从函数和基本块两个层次对近似的二进制代码进行比较,分析出它们之间相同的部分和差异信息。讨论了基于图的二进制文件特征的选取,利用特征比较和固定点传播算法,建立两份代码在函数和基本块两个级别的对应关系。本文给出了这种基于特征提取的二进制代码比较技术的实现框架,并列举了它在恶意软件变种分析,公开漏洞定位方面的利用实例。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号