《编译与反编译技术》目录—导读

    xiaoxiao2023-12-30  146

    前言 “编译原理”是高等院校计算机科学与技术和软件工程专业的必修专业课之一,是一门理论与实践相结合的课程,对大学生科学思维的养成和解决实际问题能力的提高具有重要作用。“编译技术”是“编译原理”课程中介绍的关键技术,已经被广大计算机软件从业者所掌握和熟悉。“反编译技术”则是近几年得以迅速发展的新兴技术,许多计算机软件或信息安全从业者非常关心该项技术,但目前这方面的书籍较少,与“编译技术”结合起来讲解的更少。本书就是在这种需求以及编者在这两方面的科研实践体会的驱动下诞生的,目的是为计算机软件和信息安全从业者提供编译与反编译技术方面的知识和技能。 本书的编写得到了中国人民解放军信息工程大学和机械工业出版社的支持,在此表示诚挚的谢意。 本书由庞建民教授确定内容的选取和组织结构,由庞建民、陶红伟、刘晓楠、岳峰具体执笔,庞建民编写第1、9章,陶红伟编写第2、3、4、5、7章,刘晓楠编写第10、11、12、13章,岳峰编写第6、8、14、15章,最后由庞建民定稿。赵荣彩教授对本书的编写提出了许多宝贵的意见和建议,在此表示衷心的感谢。 本书力图反映编译与反编译及其相关领域的基础知识和发展方向,尝试用通用的语言讲述抽象的原理与技术,由于编者水平有限,书中难免有错误与欠妥之处,恳请读者批评指正。

    **目录前言第1章 引论1.1编译器与解释器1.2 编译过程1.3 编译器结构1.4 编译器的分类及生成1.5 高级语言及其分类1.6 编译的前端和后端1.7 C语言程序的编译流程1.8 UNIX/Linux环境中的make和makefile1.9 本章小结 习题

    第2章 词法分析的理论与实践2.1 词法分析器的需求分析2.1.1 词法分析器的功能2.1.2 分离词法分析的原因 )2.2 词法分析器的设计2.2.1 输入及其处理2.2.2 单词符号的描述:正规文法和正规式2.2.3 单词符号的识别:超前搜索 2.2.4 状态转换图及其实现 2.3 有穷自动机 2.3.1 确定的有穷自动机 2.3.2 非确定的有穷自动机2.3.3 NFA到DFA的转化 2.3.4 DFA的化简 2.4 正规式和有穷自动机的等价性2.5 词法分析器的生成器2.6 本章小结 习题第3章 语法分析3.1 上下文无关文法3.1.1 上下文无关文法的定义3.1.2 语法树和推导3.1.3 二义性3.2 语法分析器的功能3.3 自上而下的语法分析3.3.1 LL(1)分析方法3.3.2 预测分析程序3.4 自下而上的语法分析3.4.1 移进与归约3.4.2 LR分析3.4.3 LR(0)分析3.4.4 SLR(1)分析3.4.5 LR(1)分析3.4.6 LALR(1)分析3.4.7 分析方法比较3.5 语法分析器的生成器 3.6 本章小结 习题第4章 语义分析与处理4.1 语法制导定义与语法制导翻译4.2 中间语言4.3 语句的翻译4.3.1 说明语句的翻译4.3.2 赋值语句的翻译4.3.3 控制语句的翻译4.3.4 过程调用语句的翻译4.4 本章小结习题第5章 符号表5.1 符号表的作用5.2 符号表的内容 5.3 符号表的组织5.4 符号表的实现5.5 名字的作用域5.6 本章小结习题第6章 运行时存储组织6.1 静态存储分配6.2 动态存储分配 6.3 栈式动态存储分配6.3.1 简单的栈式存储分配的实现6.3.2 嵌套过程语言的栈式实现6.4 堆式动态存储分配6.5 存储分配与安全性6.5.1 缓冲区溢出原理 6.5.2 缓冲区溢出的防范6.6 本章小结习题第7章 优化7.1 优化技术简介7.2 局部优化7.3 循环优化7.4 全局优化 7.4.1 到达–定值数据流分析7.4.2 活跃变量数据流分析和定值–引用数据流分析7.4.3 可用表达式数据流分析 7.4.4 复写传播数据流分析 7.5 本章小结习题第8章 目标代码生成8.1 代码生成器设计中的问题8.1.1 代码生成器的输入8.1.2 目标程序8.1.3 指令选择8.1.4 变量存储空间分配8.2 寄存器分配 8.2.1 寄存器分配描述8.2.2 线性扫描的寄存器分配8.2.3 图着色的寄存器分配 8.3 窥孔优化8.3.1 规则提取8.3.2 扫描匹配和等价语义转换8.3.3 举例说明8.4 一个代码生成器实例8.4.1 待用信息和活跃信息8.4.2 寄存器描述和地址描述8.4.3 代码生成算法8.5 本章小结习题第9章 多样化编译9.1 软件多样化需求9.2 多变体执行及其环境9.3 海量软件多样性9.4 多样化编译技术9.5 多样化编译的应用9.6 本章小结习题第10章 反编译及其关键要素10.1 什么是反编译10.1.1 反编译概念10.1.2 编译与反编译10.1.3 反编译器10.2 反编译的基本过程10.2.1 按照反编译技术实施的顺序划分10.2.2 按照反编译实践中的具体操作划分10.2.3 按照反编译器的功能块划分10.3 反编译的前世今生10.3.1 建立——20世纪60年代10.3.2 发展——20世纪70年代10.3.3 瓶颈期——20世纪80年代10.3.4 反编译的春天来了——20世纪90年代10.3.5 持续的研究——进入21世纪10.3.6 身边的反编译——我国对反编译的研究10.4 反编译的局限、先决条件和评价指标10.4.1 反编译技术面临的宏观问题 10.4.2 反编译技术面临的技术性问题10.4.3 反编译的先决条件10.4.4 反编译器的评价指标 10.5 反编译的应用领域和研究重点10.5.1 应用领域 10.5.2 研究重点 10.6 本章小结 习题第11章 反编译器的整体框架11.1 “I型”反编译器的框架11.1.1 上下文环境的衔接11.1.2 dcc反编译器的框架11.2 经典多源反编译框架简介11.2.1 UQBT 11.2.2 Hex-Rays11.2.3 BAP11.3 具备静态反编译能力的二进制翻译器ITA11.3.1 ITA总体框架11.3.2 二进制文件解码 11.3.3 语义映射11.3.4 过程抽象分析11.3.5 优化代码消除 11.3.6 C代码产生器 11.3.7 从ITA看静态反编译存在的普遍问题11.3.8 对ITA静态反编译框架的扩展ITA-E 11.4 具备动静结合反编译能力的二进制翻译器UTP-MBC 11.4.1 UTP-MBC架构设计需要解决的主要问题11.4.2 UTP-MBC翻译器的相关研究11.4.3 一体化翻译架构设计 11.5 本章小结 习题 第12章 反编译中的指令解码和语义描述与映射12.1 指令描述和指令解码12.1.1 相关研究12.1.2 编解码描述语言SLED12.1.3 基于SLED的x64指令描述和解码12.1.4 SLED在多源一体解码体系中的应用12.2 指令的语义映射12.2.1 相关研究12.2.2 语义描述语言SSL 12.2.3 中间表示12.2.4 一个示例——指令原子语义描述语言ASDL 12.3 本章小结习题第13章 反编译中的恢复技术13.1 数据流和数据恢复13.1.1 数据流分析13.1.2 数据恢复方法——以IA-64架构上的反编译为例13.1.3 小结 13.2 高级控制流恢复13.2.1 控制流恢复概述 13.2.2 高级控制流恢复分析 13.2.3 结构化算法介绍 13.2.4 可能的问题与解决办法13.2.5 小结13.3 过程恢复 13.3.1 相关知识简介13.3.2 库函数的识别技术 13.3.3 用户自定义函数的过程恢复 13.4 本章小结 习题第14章 编译优化的反向处理 14.1 常用的编译优化方法14.1.1 编译优化的原则 14.1.2 优化手段的分类 14.2 部分编译优化的消除——谓词执行14.2.1 谓词执行 14.2.2 IA-64平台的谓词指令14.2.3 谓词消除 14.3 本章小结 习题 第15章 反编译与信息安全 15.1 基于反编译的恶意行为识别15.1.1 恶意代码检测背景 15.1.2 文件格式异常信息 15.1.3 指令序列层行为信息提取 15.1.4 函数调用信息提取 15.2 反编译在恶意代码检测中的应用 15.2.1 系统架构的提出 15.2.2 推理算法研究的基本内容15.2.3 恶意特征生成 15.2.4 推理规则库的建立15.2.5 多重多维模糊推理算法的研究与实现15.3 本章小结 习题 参考文献

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)