摘要
针对传统静态递归反汇编算法因无法解析间接跳转指令而导致反汇编结果不完整的问题,提出一种基于函数划分块和置信度的递归反汇编算法:以函数为划分块,对代码间隙进行多次递归扫描,获取反汇编过程中可能遗漏的重要基本块;建立置信度评估函数,以置信度为依据,剔除冲突的基本块,筛选出高置信度的基本块,用于补充和优化反汇编结果。实验证明,改进后的递归反汇编算法具有较高的反汇编精度。
Traditional static recursive disassembly algorithms fail to resolve indirect jump instructions which results in incomplete disassem- bly outputs. Therefore a recursive disassembly algorithm based on function division block and confidence is proposed. The algorithm regards functions as division blocks to carry out several recursive scans upon code gaps to obtain the possible missing important basic blocks during the disassembly process. Then it establishes the confidence evaluation function, which, by comparing confidence degrees to erase conflicting bas- ic blocks, then chooses high confident basic blocks for completing and optimizing disassembly results. Experiments prove that the improved recursive disassembly algorithm performs better on disassembly accuracy.
出处
《计算机应用与软件》
CSCD
北大核心
2014年第1期85-88,164,共5页
Computer Applications and Software
关键词
静态递归反汇编
置信度评估函数
函数划分块
Static recursive disassembly Confidence evaluation function Function division block