The invention discloses a target code control flow graph generation system based on symbolic execution, which comprises a preprocessing module, a disassembly and control flow graph generation module and a target address analysis module. The pretreatment module is used for positioning format identification and program entrance address of the target code file, disassembly and control flow graph generation module is used to generate and control the translation machine instruction flow chart, the target address analysis module is used for indirect instruction at the destination address of the emergy analysis, which uses symbolic execution, SMT solution solver, the automatic generation of test cases, binary simulation execution module. The system of the invention analyzes the address of indirect address jump, and the control flow graph generated by the invention has more accurate and relatively complete characteristics than the control flow graph generated by the general module.
【技术实现步骤摘要】
一种目标代码控制流图生成系统
本专利技术涉及一种计算机
,尤其是涉及基于符号执行的目标代码控制流图生成系统。
技术介绍
面对众多的无法获取源码的目标程序,研究人员不得不需要通过逆向工程的手段对程序的目标代码进行分析。在分析过程中,一个精确而完善的控制流图能够帮助研究人员对程序结构进行直观的认识,以辅助其进一步的深入分析与理解。通常,人们通过反汇编的手段,对目标代码进行反汇编,根据程序中的跳转与子过程调用,生成相应的控制流节点,构造出相应的控制流图。而在控制流图构造的过程中,通常会遭遇到间接地址跳转的问题。间接跳转地址是指目标地址存放在内存或寄存器中的跳转地址,这类值通常无法通过静态分析得到。而在一些控制流图生成工具的实现中,采用了抽象解释的模块,使用近似值的模块对控制流进行扩充。这种模块相对不够精确,同时引入了不该存在的控制流路径。
技术实现思路
本专利技术的目的是通过以下技术方案实现的。具体的,本专利技术公开一种目标代码控制流图生成系统,其特征在于,包括:预处理模块:用于对目标代码文件进行封装格式的识别,定位程序指令的入口地址;反汇编与控制流图生成模块:用于机器指令的反汇编与控制流图生成;目标地址分析模块:用于间接跳转指令处目的地址的可能值分析计算。优选地,所述预处理模块包括:文件类型识别模块:通过对特定封装格式文件头部数据结构的匹配,进行文件类型的识别;目标平台确定模块:读取并解析目标代码文件的头部数据,确定目标代码的目标平台;入口偏移地址定位模块:读取并解析目标代码文件的头部数据,定位目标文件指令序列的入口偏移地址。优选地,所述反汇编与控制流图生成 ...
【技术保护点】
一种目标代码控制流图生成系统,其特征在于,包括:预处理模块:用于对目标代码文件进行封装格式的识别,定位程序指令的入口地址;反汇编与控制流图生成模块:用于机器指令的反汇编与控制流图生成;目标地址分析模块:用于间接跳转指令处目的地址的可能值分析计算。
【技术特征摘要】
1.一种目标代码控制流图生成系统,其特征在于,包括:预处理模块:用于对目标代码文件进行封装格式的识别,定位程序指令的入口地址;反汇编与控制流图生成模块:用于机器指令的反汇编与控制流图生成;目标地址分析模块:用于间接跳转指令处目的地址的可能值分析计算。2.如权利要求1所述的目标代码控制流图生成系统,其特征在于,所述预处理模块包括:文件类型识别模块:通过对特定封装格式文件头部数据结构的匹配,进行文件类型的识别;目标平台确定模块:读取并解析目标代码文件的头部数据,确定目标代码的目标平台;入口偏移地址定位模块:读取并解析目标代码文件的头部数据,定位目标文件指令序列的入口偏移地址。3.如权利要求1或2所述的目标代码控制流图生成系统,其特征在于,所述反汇编与控制流图生成模块包括:反汇编引擎选择模块:根据预处理模块所识别的目标平台信息,自动选择相应的反汇编引擎;反汇编模块:对于顺序指令序列,进行线性扫描式的反汇编处理;对于目的地址明确的...
【专利技术属性】
技术研发人员:何积丰,熊家文,史建琦,黄滟鸿,李昂,方徽星,
申请(专利权)人:华东师范大学,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。