[发明专利]一种基于链表和逆向遍历的汇编代码中if结构识别方法在审

专利信息
申请号: 202211670829.3 申请日: 2022-12-23
公开(公告)号: CN115857953A 公开(公告)日: 2023-03-28
发明(设计)人: 李根;吴瑾;郭向英;于婷婷;高栋栋;王博祥;刘璟炜;盛庄 申请(专利权)人: 北京轩宇信息技术有限公司
主分类号: G06F8/53 分类号: G06F8/53
代理公司: 暂无信息 代理人: 暂无信息
地址: 101300 北京市顺义*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 逆向 遍历 汇编 代码 if 结构 识别 方法
【说明书】:

本发明公开了一种基于链表和逆向遍历的汇编代码中if结构识别方法,包括以下步骤:步骤一,创建链表和以地址为索引图的图;步骤二,汇编指令汇总与存储;步骤三,反优化操作;步骤四,逆向遍历链表;步骤五,无条件跳转指令的识别与归纳;步骤六,条件跳转指令的识别与归纳;本发明采用被跨越、被交叉的原则,实现了对编译器对跳转优化的反优化;本发明通过总结的识别策略实现了对if‑then、if‑else核结构的自动识别;本发明采用逆向遍历的方式,实现对if嵌套、布尔表达式复杂结构的识别,与正向识别方式相比,该方法仅需要一次遍历就能够确定每个if‑then、if‑else核心结构,减少了二次遍历的运算量。

技术领域

本发明涉及软件逆向工程技术领域,具体为一种基于链表和逆向遍历的汇编代码中if结构识别方法。

背景技术

目前能够实现汇编逆向工程的商业软件仅有IDA PRO软件,该软件是封闭的,不允许第三方程序对其逆向插件进行调用,另外其输出结果为直接的高级语言源代码(如C语言),若需要获取语法树依然要自己对输出结果进行语法分析,这将会进步一增加工作量。

对于被编译器进行优化的直接跳转指令(归属于非条件跳转指令,与之对应的另一种非条件跳转为“间接跳转”),由于跳转目标地址发生的改变,原本的跳转结构将会被打乱,无法实现源代码及汇编码的细致对应关系,这也同步增加了反演程序结构的难度。注:间接跳转通常以用于多分支结构,如switch,在编译原理中,生成if结构的汇编指令与间接跳转无关。

专利申请人北京大学申请的CN101063944A号专利公开了识别一种复合条件分支结构的方法,其采用可执行文件反推的中间代码和控制流作为基础输入,输入的级别要高于汇编级别,即仍需要对汇编代码进行进一步逆向至IR层级,这将严重依赖于第三方软件,也需要人工对数据进行搬运。另外,其识别过程为由低地址汇编语句到高地址语句的顺序,其推导方式为正向推导方式,对于存在编译器优化的情况没有考虑,对于由if、if-else嵌套场景生成的汇编代码如何逆向其结构也未给出描述。

发明内容

本发明的目的在于提供一种基于链表和逆向遍历的汇编代码中if结构识别方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于链表和逆向遍历的汇编代码中if结构识别方法,包括以下步骤:步骤一,创建链表和以地址为索引图的图;步骤二,汇编指令汇总与存储;步骤三,反优化操作;步骤四,逆向遍历链表;步骤五,无条件跳转指令的识别与归纳;步骤六,条件跳转指令的识别与归纳;

其中在上述步骤一中,创建一个存放地址单元指针的链表和以地址为索引图的图,用于顺序式存储和索引地址单元使用;

其中在上述步骤二中,汇编指令的汇总:获取原始汇编代码后,遍历汇编指令,将其中的所有跳转指令的起始地址和目标地址进行提取,将所有跳转指令与其起始地址配对、将所有的跳转指令与其跳转目标地址配对,以此得到地址和跳转指令的配对,以相同地址作为条件进行汇总,对地址去重,相同地址只保留一个单例;汇编指令的存储:创建地址单元将起始地址和跳转地址及指令存入对应变量中,将地址单元的指针存入步骤一中所创建的链表和图,如果图中已存在某键值,则不需创建地址单元,而是将指令及其输入放入已有该地址的地址单元中;

其中在上述步骤三中,利用反优化方法,对跳转合并的地址进行还原,变更被优化跳转目标地址的指令的值;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211670829.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top