共查询到20条相似文献,搜索用时 15 毫秒
1.
2.
反汇编是固件代码逆向分析的重要研究内容,其正确性直接影响固件代码逆向分析的准确性。固件代码结构具有特殊性,针对上层应用程序的反汇编算法大都不能直接用于固件代码的反汇编。中断向量表是固件代码的重要组成部分,从中断向量开始对中断服务子程序进行反汇编,可提高固件代码反汇编的精度。通过对固件代码结构特点的研究分析,介绍了中断向量表的重构方法,提出了一种基于中断向量表重构的固件代码反汇编技术。经测试分析,与传统的静态反汇编技术相比,基于中断向量表重构的固件代码反汇编技术不仅能够对固件代码中的主函数进行反汇编,还能够对中断服务子程序进行反汇编,反汇编精度平均提高了8.72%。 相似文献
3.
反静态反汇编技术研究 总被引:2,自引:0,他引:2
通过对软件可执行二进制码的静态反汇编结果进行分析,可以对其进行非法的修改或窃取其知识产权。为了防范这种情况,在描述静态反汇编基本算法的基础上,提出了分支函数和跳转表欺骗两种隐藏程序控制流的反静态反汇编技术。这两种技术能够隐藏程序中跳转指令的真实目标地址,并能够伪造出导致静态反汇编器出错的假目标地址,从而提高程序的反静态反汇编性能,增加软件分析的难度。 相似文献
4.
5.
6.
电力企业在将反汇编技术应用于嵌入式智能电表软件一致性检测模型时出现了因不同硬件而产生差异的字节序问题和程序运行时的嵌入式设备内存受限问题,从而影响了模型整体的性能。针对这两个关键问题进行分析,结合嵌入式智能电表内部特征和硬件体系架构理论的深层探讨,依次提出了目标代码双逆置预处理算法(CDIPA)和分段反汇编算法(SDA)。对原代码使用目标代码双逆置预处理算法得到调整字节顺序的代码,分别将原代码和调整代码反汇编获得两种待测结果,结合硬件信息分析结果并以匹配度高的指令作为最终结果从而解决了字节序问题;分段反汇编算法通过调整反汇编输入规模并分次运行的方法解决设备内存受限问题。实验结果表明将这两种算法用于给定的电表设备,可以有效解决上述关键问题,同时算法也表现出良好的健壮性和可移植性。 相似文献
7.
8.
反汇编结果的代码结构分析在程序解读、可执行程序编辑、软件维护、程序理解以及编译器设计中有重要的作用与意义.本文提出了一种对主流微处理器二进制代码逆向还原到汇编级代码后进行结构分析的算法,给出了该算法的形式化描述和结构分析结果的记录方法,并且根据该算法在二进制代码辅助分析系统中的应用情况,给出了实验数据.试验数据表明,该算法在多款处理器目标代码的分析过程中都有较高的结构分析准确度和执行效率. 相似文献
9.
熊峻峰 《计算机应用与软件》2007,24(7):96-97,102
简单介绍了几种计算机程序中常见的缓冲区溢出漏洞.然后介绍一种通过反汇编Linux的ELF可执行程序并进行分析查找其中缓冲区溢出漏洞的方法. 相似文献
10.
一种基于重定位信息的二次反汇编算法 总被引:1,自引:1,他引:1
反汇编技术是静态分析二进制程序的基础,目前广为采用的反汇编算法是线性扫描和递归行进算法。前者无法正确处理代码段中嵌入数据的情况,后者则必须解决间接跳转目的地址的预测问题。本文介绍了这两种算法的原理,分析了其存在的问题,并利用二进制文件中旬重定位信息对它们进行了优化。将优化后的两种方法结合起来,给出了一种新颖的二次反汇编算法,这种算法能够捕获反汇编过程中出错的情况,从而控制错误传播,并使得基于反汇编代码的应用可以针对出错情况进行相应的处理。 相似文献
11.
12.
在基于上下文的自适应可变长度编码(CAVLC)解码算法中,对非结构化自适应可变长度编码码表进行解码时需要反复查找码表进行码字匹配,从而导致解码速度慢和需要大量内存存取的问题。为此,提出一种可实现零内存存取的CAVLC解码算法。将CAVLC码字前缀0的个数作为一级索引,同时通过一级索引获得输入码流的可能长度。将码字后缀作为二级索引并获得码字的值,直接通过码字快速获得解码结果。对于确定的输入码字,只需通过无码表查找代码操作即可得到对应的解码输出。测试结果表明,该算法不仅可以实现零内存存取的CAVLC解码,而且其解码速度比标准算法提高了45%。 相似文献
13.
14.
15.
提出了一种具有主从结构的粒子群优化算法,该算法实现了惯性权重、加速因子、最大速度等系统参数与目标函数的同步优化。将主程序的一个粒子作为子程序的一组系统参数,在该组控制参数下使用基本的粒子群算法对子程序的目标函数进行优化,并把子程序优化所得的全局最优值返回主程序作为主程序的一个适应值,同时使用基本的粒子群算法对主程序的适应度函数进行优化。实验结果表明,该算法的优化性能较基本的粒子群算法有了显著提高。该方法对于粒子群算法的参数选择具有指导意义。 相似文献
16.
《计算机应用与软件》2014,(1)
针对传统静态递归反汇编算法因无法解析间接跳转指令而导致反汇编结果不完整的问题,提出一种基于函数划分块和置信度的递归反汇编算法:以函数为划分块,对代码间隙进行多次递归扫描,获取反汇编过程中可能遗漏的重要基本块;建立置信度评估函数,以置信度为依据,剔除冲突的基本块,筛选出高置信度的基本块,用于补充和优化反汇编结果。实验证明,改进后的递归反汇编算法具有较高的反汇编精度。 相似文献
17.
反汇编技术是二进制代码分析的基础,传统的静态反汇编方法存在着数据代码混编和间接跳转指令等带来的反汇编困难.为此,本文提出了一种动静结合的代码反汇编框架DTBC.在DTBC中,静态反汇编引擎根据传统反汇编算法实现代码的静态反汇编,通过代码分析技术标记程序中的敏感指令;符号执行引擎利用混合符号执行技术和约束求解器生成可达敏感指令的程序输入;动态仿真引擎模拟不同输入条件下的程序执行过程,通过监控代码的执行路径达到反汇编求精的目的.实验模拟的结果表明,DTBC能够有效提高代码反汇编的准确性和覆盖率. 相似文献
18.
Crash(程序崩溃)分析是漏洞挖掘与利用的关键阶段,判定Crash是由何种类型漏洞产生的是进行Crash分析和漏洞利用的前提。针对现有漏洞检测平台无法有效识别Crash类型的问题,提出一种二进制可执行程序漏洞检测和Crash类型判定的方法。该方法通过对二进制可执行程序Fuzz出的Crash进行污点标记,在污点传播阶段兼顾污点清除、间接污染等污点传播规则,在污点检查阶段通过收集崩溃点上下文信息,匹配多种漏洞触发规则。基于上述方法开发出对二进制程序漏洞检测和判定Crash所属漏洞类型的原型系统,实验结果表明,该方法适用于栈溢出、格式化字符串、堆溢出等漏洞导致的覆盖返回地址、函数指针等模式,具有较高准确率。 相似文献
19.
一种特洛伊木马的检测算法 总被引:6,自引:0,他引:6
运用字母集合到数字集合的映射理论、字符串的可计算性理论与数论理论,设计了一种特洛伊木马的检测算法,该算法能够有效地检测出特洛伊木马,同已有的检测算法相比,速度较快,不但适合字母文字的可执行程序检测,也适合可能出现的非字母文字所编写的可执行程序的特洛伊木马检测. 相似文献
20.
李彦超 《电脑编程技巧与维护》1995,(1):60-61
在开发管理信息系统时,数据录入屏幕编辑程序设计是一项比较繁琐的工作。为提高编程效率,我们设计了一个通用全屏幕窗口编辑子程序。该子程序具有如下特色: 首先,该子程序独立于库结构,当要对某一数据库输入数据时,只要将字段名和数据缓冲区当作参数传递给该子程序即可。根据子程序的返回参数,读者可对输入的数据进行存储、删除、退出等操作。因此可适用于任 相似文献