[发明专利]一种基于变量关联树的基本类型重构方法有效
申请号: | 201810793986.0 | 申请日: | 2018-07-19 |
公开(公告)号: | CN109117142B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 马锐;朱天保;菅泽峰;单纯;田东海 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F8/53 | 分类号: | G06F8/53 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高会允;仇蕾安 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 变量 关联 基本 类型 方法 | ||
本发明公开了一种基于变量关联树的基本类型重构方法,是一种轻量级的基本数据类型重构方法。该方法具体为:将待处理的二进制程序转化为汇编程序后以函数为单元进行如下处理:提取函数单元中汇编指令的操作数,构建变量关联树VRT,并建立对应的变量地址映射表VAM,利用汇编程序中寄存器和汇编指令中的变量类型信息作为第一约束规则,利用VRT中各变量间的运算关系作为第二约束规则,采用第一和第二约束规则分别对VRT中的节点的类型约束信息属性进行更新,采用汇编程序中已知函数的参数和返回值的类型信息在VRT上进行传播,获得最终VRT,以上过程中实时更新VAM中变量的类型约束信息属性。所有函数单元分析完成得到的VAM包含了基本类型重构结果。
技术领域
本发明涉及软件维护和安全技术领域,具体涉及一种基于变量关联树的基本类型重构方法。
背景技术
高速发展的计算机软件技术使各种软件的功能变得越来越复杂,导致计算机软件中的安全问题越来越多,同时巨量的软件导致软件的维护需求也愈来愈高。反编译在软件维护和安全领域扮演着重要的角色,而数据类型重构则是其重要的一环,也是难点所在。许多高级语言中类型相关的信息在编译成二进制程序时未被保留,导致反编译时很难获得变量相关的类型信息,类型重构也因此成为了影响反编译效果的瓶颈之一。
几十年来国内外仍未出现一种统一的、被业界普遍接受的类型重构方案,目前的类型重构方案大多是经反汇编转换成中间语言,并结合数据流和控制流分析,这几乎完成了整个反编译的工作,工作量大且重构过程复杂。
2002年,Mike在dcc和UQBT的基础上首次引入了静态单赋值方法,并研发了新的反编译器Boomerang。它保留了UQBT中的代码解析和语义描述语言,采用数据流分析技术对变量类型进行重构,并将二进制代码反编译成高级程序语言。
2007年,Ilfak Guilfanov发布了反汇编器IDA Pro的一个反编译插件Hex-Rays,这是一款功能强大的商业软件,它能快速地将32位windows可执行程序转换成与源码功能和语义等价的类C代码,但只可用于分析而不能编译。
2010年,Asia Slowinska首次尝试动态分析技术,提出了动态数据结构挖掘方法,它使用QEMU工具对程序运行时的内存使用和访问情况进行跟踪,可以获取数据结构布局信息,能够恢复堆栈上的数据类型,甚至一些复杂结构类型。
2012年,何东、尹青等人提出了基于规则的类型重构系统TyDec,试图结合动静态分析的优点。该方法通过模式匹配的方式按照规则生成一系列的约束,然后对约束集求解。
类型重构属于反编译过程中重要步骤之一,数据类型重构的难度在于许多高级语言中类型相关的信息在编译成二进制程序时未被保留,而导致反编译时很难获得变量相关的类型信息。但是,类型信息在二进制程序中被转化成了存储器信息,通过内存的分配和访问以及相互间的关系体现类型间的依赖关系,从而可以将类型信息重构出来,这也是现阶段对于类型重构研究的重点方向。目前通过模式匹配、控制流分析、数据流分析等技术现已经可以恢复部分类型信息,但类型重构的过程稍微繁琐,需要得到二进制程序的控制流图、数据流图等相关信息。
因此,目前缺少一种轻量级的基本数据类型重构方法。
发明内容
有鉴于此,本发明提供了一种基于变量关联树的基本类型重构方法,能够以二进制程序作为输入,利用现有的工具将二进制文件转换为汇编语言,进一步再将汇编语言转化为本发明提出的变量关联树VRT,基于VRT实现基本类型重构,是一种轻量级的基本数据类型重构方法。
为达到上述目的,本发明的技术方案具体包括如下步骤:
步骤一、采用反汇编工具将待处理的二进制程序转化为汇编程序。
步骤二、扫描汇编程序,以函数为单元进行划分,获得划分好的函数单元;识别汇编程序中的库函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810793986.0/2.html,转载请声明来源钻瓜专利网。