[发明专利]一种目标代码控制流图生成系统有效
申请号: | 201611169736.7 | 申请日: | 2016-12-16 |
公开(公告)号: | CN106648818B | 公开(公告)日: | 2019-06-14 |
发明(设计)人: | 何积丰;熊家文;史建琦;黄滟鸿;李昂;方徽星 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F8/53 | 分类号: | G06F8/53 |
代理公司: | 北京辰权知识产权代理有限公司 11619 | 代理人: | 郎志涛 |
地址: | 200062 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于符号执行的目标代码控制流图生成系统,该系统包括预处理模块、反汇编与控制流图生成模块、目标地址分析模块。其中,预处理模块用于目标代码文件的格式识别与程序入口地址的定位,反汇编与控制流图生成模块用于机器指令的翻译与控制流图的生成,目标地址分析模块用于间接跳转指令处目的地址的可能值分析计算,其采用符号执行、SMT求解器求解、自动测试用例生成、二进制仿真执行的模块。本发明的系统对间接地址跳转地址进行了分析,其生成的控制流图,相比于一般模块生成的控制流图,具有更加精确、相对完整的特点。 | ||
搜索关键词: | 一种 目标 代码 控制 生成 系统 | ||
【主权项】:
1.一种目标代码控制流图生成系统,包括:预处理模块:用于对目标代码文件进行封装格式的识别,定位程序指令的入口地址;反汇编与控制流图生成模块:用于机器指令的反汇编与控制流图生成;目标地址分析模块:用于间接跳转指令处目的地址的可能值分析计算,其特征在于,所述预处理模块包括:文件类型识别模块:通过对特定封装格式文件头部数据结构的匹配,进行文件类型的识别;目标平台确定模块:读取并解析目标代码文件的头部数据,确定目标代码的目标平台;入口偏移地址定位模块:读取并解析目标代码文件的头部数据,定位目标文件指令序列的入口偏移地址;所述反汇编与控制流图生成模块包括:反汇编引擎选择模块:根据预处理模块所识别的目标平台信息,自动选择相应的反汇编引擎;反汇编模块:对于顺序指令序列,进行线性扫描式的反汇编处理;对于目的地址明确的跳转,直接跳转至目标地址进行反汇编,对于目标地址为寄存器的间接地址跳转,调用目标地址分析模块进行目标地址分析,得到目标地址后跳转至相应位置进行反汇编,并构建相应的控制流图节点,所述目标地址分析模块包括:路径条件符号计算模块:对程序进行符号执行,分析推导抵达间接跳转指令处所需满足的条件,输出一个条件公式;SMT求解器模块:对所述路径条件符号计算模块输出的条件公式进行求解,计算公式中变量的可行取值;二进制仿真模块:以SMT求解器模块中获取的变量可行值作为输入参数,仿真执行相应的指令序列,以跟踪指令序列运行过程中的寄存器中值的变化,最终确定间接跳转指令的目的地址,以之作为下一条待反汇编指令的地址,使用反汇编与控制流图生成模块重新处理指令。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611169736.7/,转载请声明来源钻瓜专利网。
- 上一篇:布料(36)
- 下一篇:一种基于编辑器的国际化代码转换方法