The invention discloses a program static analysis system for object code, which comprises an anti compilation module, an intermediate representation refinement module, a program analysis module and a visualization module. The anti compiler module for analysis object files as input, the input file and the encapsulation format, decompile, generate assembly code, control flow chart and process boundary information and serve as the output of the module; the intermediate representation refinement module according to decompile module generated information, generate the corresponding data structure and refinement operation; program analysis module based on decompilation module and intermediate representation analysis of several intermediate program representation to generate information refinement module output; visualization module is used to display a variety of graphics and other information visualization analysis process. The system is based on the actual implementation of the binary code, analysis of the behavior of the program, more than the source oriented analysis tools with higher fidelity.
【技术实现步骤摘要】
本专利技术涉及一种面向目标代码的程序静态分析系统。
技术介绍
目前,基于源代码的程序静态分析技术,都是建立在假定的程序运行物理环境基础之上。而通过抽象和假定的环境系统往往不能完全反映现实操作中的具体问题与情况,而这样一个基于较好假定环境的工作方式在一定情况下将致使一些关键性质与行为无法得到体现与保障。目标代码是编译器处理源代码后产生的代码,是在机器CPU上实际执行的代码,包含完整的程序运行物理环境信息,具有无可替代的与实际运行情况高度一致的特点。因此,使用面向目标代码的程序分析技术,在目标代码上进行程序分析,将可以避开诸如编译错误和高层抽象错误等一系列问题,确保最终交付软件的正确性。本专利技术提出了一种面向目标代码的程序静态分析系统,根据实际执行的二进制代码,对程序行为进行分析,比面向源码的分析工具具有更高的保真度。
技术实现思路
本专利技术提出了一种面向目标代码的程序静态分析系统,包括:反编译模块,用于拆解待分析目标代码文件的封装格式,反汇编目标代码,生成基本的控制流图结构以及其他相关的信息;中间表示精化模块,对反编译得来的信息进行处理获取更多程序细节,生成相应的数据结构并进行精化操作;程序分析模块,根据反编译模块和中间表示精化模块输出的信息生成待分析程序的中间表示形式;可视化模块,用于分析过程中各种图形和其他信息的可视化显示。优选地,所述反编译模块包括拆装器子模块、反汇编引擎子模块、流图构建器子模块。优选地,所述拆装器子模块用于解除目标代码封装,其支持常用的目标代码封装格式。优选地,所述反汇编引擎子模块,用于将解除封装格式后的目标代码转换为汇编代码,并且 ...
【技术保护点】
一种面向目标代码的程序静态分析系统,包括:反编译模块,用于拆解待分析目标代码文件的封装格式,反汇编目标代码,生成基本的控制流图结构以及其他相关的信息;中间表示精化模块,对反编译得来的信息进行处理获取更多程序细节,生成相应的数据结构并进行精化操作;程序分析模块,根据反编译模块和中间表示精化模块输出的信息生成待分析程序的中间表示形式;可视化模块,用于分析过程中各种图形和其他信息的可视化显示。
【技术特征摘要】
1.一种面向目标代码的程序静态分析系统,包括:反编译模块,用于拆解待分析目标代码文件的封装格式,反汇编目标代码,生成基本的控制流图结构以及其他相关的信息;中间表示精化模块,对反编译得来的信息进行处理获取更多程序细节,生成相应的数据结构并进行精化操作;程序分析模块,根据反编译模块和中间表示精化模块输出的信息生成待分析程序的中间表示形式;可视化模块,用于分析过程中各种图形和其他信息的可视化显示。2.如权利要求1所述的面向目标代码的程序静态分析系统,其特征在于,所述反编译模块包括拆装器子模块、反汇编引擎子模块、流图构建器子模块。3.如权利要求2所述的面向目标代码的程序静态分析系统,其特征在于,所述拆装器子模块用于解除目标代码封装,其支持常用的目标代码封装格式。4.如权利要求2所述的面向目标代码的程序静态分析系统,其特征在于,所述反汇编引擎子模块,用于将解除封装格式后的目标代码转换为汇编代码,并且生成程序细...
【专利技术属性】
技术研发人员:何积丰,卜祥兴,史建琦,黄滟鸿,李昂,方徽星,
申请(专利权)人:华东师范大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。