国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:庞成宾,徐雪兰,张天泰,茅兵
单位:庞成宾,计算机软件新技术国家重点实验室 (南京大学), 江苏 南京 210023;南京大学 计算机科学与技术系, 江苏 南京 21002311,徐雪兰,计算机软件新技术国家重点实验室 (南京大学), 江苏 南京 210023;南京大学 计算机科学与技术系, 江苏 南京 21002302,张天泰,计算机软件新技术国家重点实验室 (南京大学), 江苏 南京 210023;南京大学 计算机科学与技术系, 江苏 南京 21002303,茅兵,计算机软件新技术国家重点实验室 (南京大学), 江苏 南京 210023;南京大学 计算机科学与技术系, 江苏 南京 21002304
关键词:二进制反汇编;控制流;间接跳转表;值集分析
基金:国家自然科学基金 (62032010, 62172201)
二进制反汇编是困难的, 但是对于提高二进制软件的安全性至关重要. 造成二进制反汇编比较困难的一大原因是编译器为了提高效率会在二进制代码中引入很多间接跳转表. 为了求解间接跳转表, 主流反汇编工具采用了各种策略. 然而, 这些策略的具体实现以及策略的效果不得而知. 为了帮助研究人员理解反汇编工具的算法实现以及性能, 首先系统总结反汇编工具求解间接跳转表的策略; 然后构建自动化测试间接跳转表框架, 基于该框架, 可以大规模地生成关于间接跳转表的测试集(包含2410455个跳转表); 最后, 在该测试集上, 对反汇编工具求解间接跳转表的性能进行评估, 并人工分析反汇编工具的每个策略引入的错误. 另外, 得益于针对反汇编工具算法实现的系统性总结, 发现6个反汇编工具实现上的bugs.
来源:2024年第10期
《软件学报》期刊编辑部