当前位置:主页 > 科技论文 > 计算机论文 >

面向ARM体系结构的代码逆向分析关键技术研究

发布时间:2023-12-03 20:37
  ARM微处理器广泛运用于嵌入式系统中,针对ARM二进制代码的逆向分析对于以ARM为核心的嵌入式设备的解剖和安全缺陷分析具有重要意义。本文着重研究面向ARM体系结构的代码逆向分析的关键技术。 论文提出了一种基于代码语义属性分析的二进制解析模型,针对ARM指令系统特点和程序编译后代码特征,从指令和指令序列两种粒度级别分别讨论了代码语义属性分析方法;设计了一种基于静态单一赋值(SSA)的中间语言BRIL,给出了中间语言BRIL的指称语义;针对从汇编表示到中间表示的代码语义抽象问题,通过分析影响ARM指令语义的因素,构建了指令语义字典描述模型,设计了基于语义字典的代码变换算法;针对中间表示中的代码冗余问题,提出了基于SSA表示的表达式传播、死代码删除和表达式代数化简三种代码变换方法;设计并实现了二进制代码逆向分析原型工具CodeSemantics Frontier。 测试结果表明,CodeSemantics Frontier能够快速有效地生成脱离ARM指令集的BRIL中间代码表示,为目标代码在高级语义抽象层次上的分析利用提供良好的支撑。

【文章页数】:80 页

【学位级别】:硕士

【文章目录】:
表目录
图目录
摘要
ABSTRACT
第一章 绪论
    1.1 课题背景及意义
    1.2 国内外相关技术研究现状
        1.2.1 代码逆向分析工具
        1.2.2 逆向中的代码变换
    1.3 研究内容
    1.4 论文结构安排
第二章 ARM二进制代码逆向分析的关键技术
    2.1 ARM体系结构
    2.2 程序编译后的代码特征
    2.3 ARM二进制代码解析技术
    2.4 中间代码生成技术
    2.5 本章小结
第三章 代码语义属性分析
    3.1 程序代码的层次结构
    3.2 指令属性分析
        3.2.1 操作符属性
        3.2.2 条件词属性
        3.2.3 操作数属性
    3.3 指令序列属性分析
        3.3.1 控制流图
        3.3.2 过程调用图
    3.4 本章小结
第四章 二进制逆向中间语言BRIL
    4.1 静态单一赋值
        4.1.1 基于变量位置的SSA表示注记法
        4.1.2 SSA表示中的数据流信息
    4.2 基于SSA表示的中间语言BRIL
        4.2.1 BRIL文法
        4.2.2 BRIL对低级指令语义属性的抽象
    4.3 中间语言BRIL的语义
        4.3.1 中间语言BRIL的抽象语法成分
        4.3.2 表达式的语义
        4.3.3 BRIL中间语句的语义
    4.4 本章小结
第五章 代码变换
    5.1 基于语义字典的代码变换
        5.1.1 语义字典
        5.1.2 BRIL代码生成
    5.2 基于SSA的代码变换
        5.2.1 表达式传播
        5.2.2 死代码删除
        5.2.3 表达式代数化简
    5.3 本章小结
第六章 原型工具CodeSemantics Frontier的设计与实现
    6.1 ARM二进制代码解析模块
        6.1.1 指令语义属性分析的实现
        6.1.2 控制流图的构建
        6.1.3 过程调用图的构建
    6.2 代码变换模块
        6.2.1 BRIL代码生成
        6.2.2 BRIL代码优化
    6.3 CodeSemantics Frontier原型工具测试
        6.3.1 功能测试
        6.3.2 性能测试与分析
    6.4 本章小结
结束语
参考文献
附录A 中间语言BRIL运算符
附录B 表达式代数化简常用规则
作者简历 攻读硕士学位期间完成的主要工作
致谢



本文编号:3870355

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3870355.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户b7418***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com