热搜关键词: MATLAB天线OpenCVVHDL

pdf

编译与反编译技术实战

  • 1星
  • 2022-07-14
  • 6.21MB
  • 需要1积分
  • 1次下载
  • favicon收藏
  • rep举报
  • free评论
标签: 编译

编译

本书首先从正向角度介绍编译系统的一般原理和基本实现技术,主要内容有词法分析、语法分析、语义分析与处理、符号表、运行时存储组织、优化、目标代码生成和多样化编译等;然后从反向角度介绍反编译的相关原理和技术,包括反编译及其关键要素、反编译器的整体框架、反编译中的指令解码和语义描述与映射、反编译中的恢复技术、编译优化的反向处理、反编译与信息安全等。

目录

前言

教学建议

第1章 引论  1

1.1 编译器与解释器  1

1.2 编译过程  2

1.3 编译器结构  2

1.4 编译器的分类及生成  3

1.5 高级语言及其分类  3

1.6 编译的前端和后端  4

1.7 C语言程序的编译流程  4

1.8 UNIX/Linux环境中的make和makefile  7

1.9 本章小结  12

习题  12

第2章 词法分析的理论与实践  13

2.1 词法分析器的需求分析  13

2.1.1 词法分析器的功能  13

2.1.2 分离词法分析的原因  14

2.2 词法分析器的设计  15

2.2.1 输入及其处理  15

2.2.2 单词符号的描述:正规文法和正规式  15

2.2.3 单词符号的识别:超前搜索  21

2.2.4 状态转换图及其实现  22

2.3 有穷自动机  28

2.3.1 确定的有穷自动机  28

2.3.2 非确定的有穷自动机  29

2.3.3 NFA到DFA的转化  29

2.3.4 DFA的化简  31

2.4 正规式和有穷自动机的等价性  33

2.5 词法分析器的生成器  35

2.6 本章小结  37

习题  37

第3章 语法分析  39

3.1 上下文无关文法  39

3.1.1 上下文无关文法的定义  39

3.1.2 语法树和推导  40

3.1.3 二义性  43

3.2 语法分析器的功能  45

3.3 自上而下的语法分析  45

3.3.1 LL(1)分析方法  45

3.3.2 预测分析程序  53

3.4 自下而上的语法分析  56

3.4.1 移进与归约  56

3.4.2 LR分析  57

3.4.3 LR(0)分析  60

3.4.4 SLR(1)分析  66

3.4.5 LR(1)分析  69

3.4.6 LALR(1)分析  72

3.4.7 分析方法比较  76

3.5 语法分析器的生成器  76

3.6 本章小结  78

习题  78

第4章 语义分析与处理  81

4.1 语法制导定义与语法制导翻译  82

4.2 中间语言  91

4.3 语句的翻译  95

4.3.1 说明语句的翻译  95

4.3.2 赋值语句的翻译  100

4.3.3 控制语句的翻译  106

4.3.4 过程调用语句的翻译  120

4.4 本章小结  121

习题  121

第5章 符号表  124

5.1 符号表的作用  124

5.2 符号表的内容  125

5.3 符号表的组织  127

5.4 符号表的实现  129

5.5 名字的作用域  132

5.6 本章小结  135

习题  135

第6章 运行时存储组织  137

6.1 静态存储分配  138

6.2 动态存储分配  138

6.3 栈式动态存储分配  140

6.3.1 简单的栈式存储分配的实现  140

6.3.2 嵌套过程语言的栈式实现  141

6.4 堆式动态存储分配  145

6.5 存储分配与安全性  146

6.5.1 缓冲区溢出原理  146

6.5.2 缓冲区溢出的防范  147

6.6 本章小结  148

习题  148

第7章 优化  150

7.1 优化技术简介  150

7.2 局部优化  151

7.3 循环优化  161

7.4 全局优化  172

7.4.1 到达–定值数据流分析  173

7.4.2 活跃变量数据流分析和

定值–引用数据流分析  178

7.4.3 可用表达式数据流分析  182

7.4.4 复写传播数据流分析  186

7.5 本章小结  192

习题  193

第8章 目标代码生成  196

8.1 代码生成器设计中的问题  196

8.1.1 代码生成器的输入  196

8.1.2 目标程序  196

8.1.3 指令选择  197

8.1.4 变量存储空间分配  197

8.2 寄存器分配  197

8.2.1 寄存器分配描述  198

8.2.2 线性扫描的寄存器分配  199

8.2.3 图着色的寄存器分配  201

8.3 窥孔优化  202

8.3.1 规则提取  202

8.3.2 扫描匹配和等价语义转换  203

8.3.3 举例说明  205

8.4 一个代码生成器实例  205

8.4.1 待用信息和活跃信息  206

8.4.2 寄存器描述和地址描述  207

8.4.3 代码生成算法  208

8.5 本章小结  209

习题  209

第9章 多样化编译  210

9.1 软件多样化需求  210

9.2 多变体执行及其环境  211

9.3 海量软件多样性  212

9.4 多样化编译技术  213

9.5 多样化编译的应用  216

9.6 本章小结  217

习题  217

第10章 反编译及其关键要素  218

10.1 什么是反编译  218

10.1.1 反编译概念  218

10.1.2 编译与反编译  219

10.1.3 反编译器  219

10.2 反编译的基本过程  219

10.2.1 按照反编译技术实施的顺序划分  220

10.2.2 按照反编译实践中的具体操作划分  224

10.2.3 按照反编译器的功能块划分  227

10.3 反编译的前世今生  228

10.3.1 建立——20世纪60年代  228

10.3.2 发展——20世纪70年代  229

10.3.3 瓶颈期——20世纪80年代  231

10.3.4 反编译的春天来了——20世纪90年代  232

10.3.5 持续的研究——进入21世纪  235

10.3.6 身边的反编译——我国对反编译的研究  236

10.4 反编译的局限、先决条件和评价指标  236

10.4.1 反编译技术面临的宏观问题  236

10.4.2 反编译技术面临的技术性问题  237

10.4.3 反编译的先决条件  238

10.4.4 反编译器的评价指标  238

10.5 反编译的应用领域和研究重点  239

10.5.1 应用领域  239

10.5.2 研究重点  239

10.6 本章小结  240

习题  240

第11章 反编译器的整体框架  241

11.1 “I型”反编译器的框架  241

11.1.1 上下文环境的衔接  241

11.1.2 dcc反编译器的框架  242

11.2 经典多源反编译框架简介  243

11.2.1 UQBT  243

11.2.2 Hex-Rays  247

11.2.3 BAP  247

11.3 具备静态反编译能力的二进制翻译器ITA  248

11.3.1 ITA总体框架  248

11.3.2 二进制文件解码  249

11.3.3 语义映射  251

11.3.4 过程抽象分析  251

11.3.5 优化代码消除  251

11.3.6 C代码产生器  252

11.3.7 从ITA看静态反编译存在的普遍问题  252

11.3.8 对ITA静态反编译框架的扩展ITA-E  253

11.4 具备动静结合反编译能力的二进制翻译器UTP-MBC  254

11.4.1 UTP-MBC架构设计需要解决的主要问题  255

11.4.2 UTP-MBC翻译器的相关研究  256

11.4.3 一体化翻译架构设计  257

11.5 本章小结  260

习题  261

第12章 反编译中的指令解码和语义描述与映射  262

12.1 指令描述和指令解码  262

12.1.1 相关研究  262

12.1.2 编解码描述语言SLED  263

12.1.3 基于SLED的x64指令描述和解码  266

12.1.4 SLED在多源一体解码体系中的应用  270

12.2 指令的语义映射  275

12.2.1 相关研究  276

12.2.2 语义描述语言SSL  276

12.2.3 中间表示  282

12.2.4 一个示例——指令原子语义描述语言ASDL  284

12.3 本章小结  288

习题  288

第13章 反编译中的恢复技术  290

13.1 数据流和数据恢复  290

13.1.1 数据流分析  290

13.1.2 数据恢复方法——以IA-64架构上的反编译为例  297

13.1.3 小结  310

13.2 高级控制流恢复  310

13.2.1 控制流恢复概述  311

13.2.2 高级控制流恢复分析  315

13.2.3 结构化算法介绍  318

13.2.4 可能的问题与解决办法  325

13.2.5 小结  325

13.3 过程恢复  325

13.3.1 相关知识简介  326

13.3.2 库函数的识别技术  328

13.3.3 用户自定义函数的过程恢复  335

13.4 本章小结  349

习题  349

第14章 编译优化的反向处理  350

14.1 常用的编译优化方法  350

14.1.1 编译优化的原则  350

14.1.2 优化手段的分类  350

14.2 部分编译优化的消除——谓词执行  351

14.2.1 谓词执行  351

14.2.2 IA-64平台的谓词指令  351

14.2.3 谓词消除  353

14.3 本章小结  358

习题  358

第15章 反编译与信息安全  359

15.1 基于反编译的恶意行为识别  359

15.1.1 恶意代码检测背景  359

15.1.2 文件格式异常信息  363

15.1.3 指令序列层行为信息提取  366

15.1.4 函数调用信息提取  369

15.2 反编译在恶意代码检测中的应用  377

15.2.1 系统架构的提出  377

15.2.2 推理算法研究的基本内容  378

15.2.3 恶意特征生成  380

15.2.4 推理规则库的建立  381

15.2.5 多重多维模糊推理算法的研究与实现  385

15.3 本章小结  391

习题  391

参考文献  392

版权信息
COPYRIGHT INFORMATION
书名:编译与反编译技术实战
½者:庞建民主编
排版:燕子
出版社:机械工业出版社
出版时间:2017-05-01
ISBN:9787111566175
— · 版权所有 侵权必究 · —
前言
“编译技术”是从事½件开发和信息安全相关工½的技术人员必
须掌握的基础性技术,也是高等院校计算机科学与技术和½件专业的
一门必修专业课,这是理论与实践结合非常强的领域,对提升开发人
员的技术水平和大学生科学思维的养成、解决实际问题½力具有重要
½用。“反编译技术”则是近几年发展起来的新兴技术,许多计算机
½件或信息安全从业者非常关心该技术的发展,½目前这方面的书籍
较少,与“编译技术”结合起来讲解的书也很少,从实践角度来剖析
的更是少见。本书就是在这种需求以及½者在这两方面的科研实践的
驱动下诞生的,目的是为计算机½件和信息安全从业者提供编译与反
编译技术方面的知识和实战技巧。
本书的编写得到了解放军信息工程大学和机械工业出版社的大力
支持,在此表示诚挚的谢意。本书中的一些材料来自本书主编主持的
½家自然科学基金(项目编号:61472447)、½家“863”(项目编
号:2006AA01Z408)、½家重大专项某子课题等项目的研究成果,在
此对这些课题的支持表示衷心的感谢!
本书是机械工业出版社2016年4月出版的《编译与反编译技术》
(ISBN 978-7-111-53412-9)一书的姊妹篇,配合学习和½用效果更
½。在本书中,½者着力阐述编译与反编译技术及实战方面的相关知
识和实战技巧,力图½用通用的语言讲述½象的原理、技术和实战技
½,½限于½者水平,书中难免有错误与欠妥之处,恳请读者批评指
正。
½者
2017年3月
展开预览

推荐帖子 最新更新时间:2022-08-05 09:51

改用比磷青铜导电率更高的C7025或C42230做PCB端子,是否对PCB功能有帮助?
如题,磷青铜C5191或QSn6.5-0.1,这个铜合金弹性尚可,导电率只有11-14%。是否可以选择比磷青铜的强度和导电都明显提升的C7025和C42230等铜带做端子,从保持力、电流通过性能和温升等角度看,应该有好处。当然,也要考虑成本可控,最好是基本不变。       性能和成本对比:    牌号屈服强度Y-MPa导电率%IACS热传导率w/m.k弹性模量Gpa价格系数C5191550-
MTconnector PCB设计
最后一天!不做这件事,你的电动车将无法上路
电动自行车凭借着轻便、灵活、小巧成为广大市民出行的宠儿,每当上下班高峰期来临时,穿行无阻的电动自行车让不少人免于阻塞之苦,更是奠定了电动自行车成为市民“出行宠儿”的身份地位。 为了更好地对电动自行车进行管理,北京市的电动车在5月1日之前必须登记上牌才可以上路,否则将要面对的就是最高1000元罚款! 应依法悬挂号牌或临时标识 根据《北京市非机动车管理条例》的相关规定,自2019年5月1日起,北
EEWORLD社区 TI技术论坛
USB2.0事务
                                                分别有IN、OUT和SETUP三大事务,每一种事务都由令牌包、数据包、握手包三个阶段构成,这里用阶段的意思是因为这些包的发送是有一定的时间先后顺序的,事务的三个阶段如下:                                                 1、令牌包阶段:启
至芯科技FPGA大牛 FPGA/CPLD
拆解爱默生高效过热度控制器
本帖最后由 zhangjsh 于 2018-7-15 11:30 编辑                今天将拆解一台“爱默生EC3-X33高效过热度控制器”,EC3-X33 是一种高效能通用型过热度控制器。适用于空调、冷冻及工业领域。如:水冷机组、工艺制冷、热泵、低温间、食品工艺以及空气干燥。利用过热度控制原理,控制电子膨胀阀。 EC3-X33 采用DIN标准轨道悬挂机构垂直挂在机器
zhangjsh 以拆会友
低成本DIY纳米级光刻机!这位95后男生火了…
最近,一位本科生自制光刻机的视频火了。是的,你没听错,大连理工大学化工学院的学生彭译锋,竟然凭着一张图纸成功在家里搭建了纳米级光刻机 ,还成功光刻出~75微米(75000纳米)的孔径。 这位同学还在读本科,整个制造过程都是在一间超简陋的小书桌上完成的,全部数学演算全靠一张白板,所有的材料都堆放在桌上地上,简直就是“家居实验室模范”。 大概长这个样子,非常接地气了。
eric_wang DIY/开源硬件专区
满足供电需求的新型封装技术和 MOSFET
作者:Jeff Sherman,德州仪器 (TI) 在小尺寸器件中驱动更高功率得益于半导体和封装技术的进步。一种采用顶部散热标准封装形式的新型功率 MOSFET 就使用了新一代半导体技术,在效率等级、功率密度和可靠性等方面都达到了新的水平。 源设计工程师一直都面临着许多的设计挑战,这是由于先进处理器本身的要求和越来越多的功能都需要消耗功率。电路板中留给电源转换器的空间常常被压缩,即使是在需
qwqwqw2088 模拟与混合信号

评论

登录/注册

意见反馈

求资源

回顶部
查找数据手册?

EEWorld Datasheet 技术支持

热门活动

相关视频

可能感兴趣器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
×