第一图书网

反编译技术与软件逆向分析

赵荣彩,庞建民,张靖博 编著 国防工业出版社
出版时间:

2009-11  

出版社:

国防工业出版社  

作者:

赵荣彩,庞建民,张靖博 编著  

页数:

218  

Tag标签:

无  

前言

随着计算机科学和相关技术的不断发展,尤其是各种编程语言的不断丰富与壮大,相关人员对贴近于硬件层的低级形式编码越来越陌生。但是,事实表明计算机软件领域从来没有过,也不可能真正脱离对繁琐的低级代码进行分析的需求,而软件逆向分析技术在近年来重新成为计算机科学领域的研究热点。在众多逆向分析技术中,反编译是对目标程序分析最为彻底,但也是最为困难的技术领域。从名称上可以看出,反编译技术是编译技术的逆过程,即将低级目标可执行代码翻译为语义等价的高级语言表示形式。本书希望能够为从事软件逆向分析的科研人员和工作者提供有效的帮助。与其他相关的逆向分析书籍不同的是,编者没有局限于对二进制代码的反汇编分析,或者局限于对不同逆向分析辅助工具的使用指导,而是希望能够在反汇编层面分析的基础上对目标低级程序进行进一步挖掘,从而获取更多的有效信息。毕竟现有的各种逆向分析工具的功能不一,不能完全满足业界复杂多变的需求。“授人以鱼,不如授之以渔”,本书希望能够帮助读者深入了解并掌握一个完整反编译工具的各个部分,从而编写真正满足自己需求的逆向分析工具。全书分为三大部分,共10章。第一部分,包括第1章至第3章。简要介绍了软件逆向分析技术的相关基础知识,为读者的进一步阅读奠定良好的基础。包括软件逆向分析的背景知识、不同体系结构指令系统的相关背景,以及针对可执行文件格式的介绍。在指令系统一章中介绍了两种完全不同的体系结构,即CISC体系结构和EPIC体系结构,并且着重针对Intel公司的64位安腾处理器的IA-64体系结构指令系统进行分析。在可执行文件格式一章,则着重解析了在Linux操作系统中流行的ELF可执行文件格式。第二部分,包括第4章、第5章。

内容概要

本书共分10章。第1章到第3章简要介绍了软件逆向分析技术的相关基础知识;第4章和第5章从反汇编和中间表示两个方面为反编译奠定基础;第6章到第9章针对反编译的若干关键技术展开详细介绍;第10章则为反编译测试相关的一些可用资源。全书以IA-64可执行代码为例进行讲解,但相关技术可以向其他平台推广。  本书可作为计算机软件专业本科高年级学生、硕士研究生的相关课程教科书或教学参考书,也可供从事软件逆向分析工作的工程技术人员参考。

书籍目录

第1章 绪论 1.1 软件逆向分析  1.1.1 与安全相关的逆向分析  1.1.2 针对软件开发的逆向分析  1.1.3 本书的主要内容 1.2 软件逆向分析的历史 1.3 软件逆向分析的各个阶段  1.3.1 文件装载  1.3.2 指令解码  1.3.3 语义映射  1.3.4 相关图构造  1.3.5 过程分析  1.3.6 类型分析  1.3.7 结果输出 1.4 逆向分析框架  1.4.1 静态分析框架  1.4.2 动态分析框架  1.4.3 动静结合的分析框架第2章 指令系统 2.1 指令系统概述 2.2 机器指令与汇编指令  2.2.1 机器指令  2.2.2 汇编指令 2.3 LA.6 4体系结构的特点  2.3.1 显式并行机制_  2.3.2 IA.64微处理器体系结构 2.4 指令格式 本章小结第3章 可执行文件 3.1 可执行文件概述 3.2 可执行文件格式  3.2.1 ELF文件的3种主要类型  3.2.2 文件格式  3.2.3 数据表示  3.2.4 文件头  3.2.5 节  3.2.6 字符串表  3.2.7 符号表 3.3 一个简单的ELF文件分析  3.3.1 文件头分析  3.3.2 section信息分析 本章小结第4章 反汇编技术 4.1 反汇编技术简介 4.2 反汇编算法流程  4.2.1 线性扫描算法  4.2.2 递归扫描算法 4.3 反汇编工具的自动构造方法  4.3.1 自动构造工具  4.3.2 利用自动构造方法构建IA-64反汇编器 4.4 常用反汇编工具介绍  4.4.1 IDAPro介绍  4.4.2 ILDasm介绍 本章小结第5章 指令的语义抽象 5.1 语义描述语言  5.1.1 SSL简介  5.1.2 SSL文法的设计  5.1.3 SSL文法的扩展 5.2 中间表示  5.2.1 低级中间表示(RTL)  5.2.2 高级中间表示(HRTL) 5.3 指令的语义抽象技术  5.3.1 语义抽象技术简介  5.3.2 指令语义的SSL描述  5.3.3 指令语义的高级模拟 5.4 基于SSL的IA.64指令语义抽象技术  5.4.1 IA.64的体系结构特征描述  5.4.2 整数指令的语义描述 5.5 基于模拟的IA.64指令语义抽象技术  5.5.1 IA.64浮点特性  5.5.2 浮点指令的语义模拟  5.5.3 浮点并行指令的语义模拟 本章小结第6章 基本数据类型分析第7章 高级控制流恢复第8章 过程恢复技术第9章 部分编译优化效果的消除第10章 程序的调试与测试参考文献

章节摘录

插图:2.逆向分析加密算法加密系统往往与隐私有关:一个人传递给另一个人的信息可能并不想让其他人知道。可以粗略地将加密算法分为两组:有限加密算法和基于密钥的算法。有限加密算法好比一些孩子们玩的游戏:写给一个朋友一封信,信中的每个字母都经过向上或向下的若干次移动。有限加密算法的秘密在于算法本身,一旦算法被揭露,也就毫无秘密可言。由于逆向分析可以分析出加密或解密算法,因此有限加密算法只能提供非常脆弱的安全性。由于其算法也是保密的,因此逆向分析可以被看作是对算法的破解过程。另一方面,基于密钥的算法的秘密是密钥,即一些类似于数字的值,它们可以由某些算法来对信息进行加密和解密。在基于密钥的算法中,用户使用密钥对信息进行加密,并保证密钥的隐蔽性。这种算法通常是公开的,而仅需要保护密钥即可。由于算法是已知的,因此逆向分析变得毫无意义。为了对一条经过基于密钥算法加密的信息进行解密,可能需要以下3种途径:①获取密钥;②尝试所有可能的组合;③寻找算法中的缺陷,从而解析出密钥或最初的信息。尽管如此,对于基于密钥加密方法的逆向分析在某些方面却意义非凡。即便加密算法广为人知,特定的实现细节也会对程序提供的所有安全级别造成意想不到的影响。无论加密算法如何精巧,很小的实现错误也有可能使该算法提供的安全级别失效。而确认一个安全产品是否真正地实现一个加密算法只有两种途径:要么分析它的源代码(假定是可行的),要么进行逆向分析。3.数字版权管理现代计算机系统已经将大多数类型的具有版权的材料转变为数字信息,包括音乐、影视,甚至书籍。这些信息以前只能够通过具体的媒介获取,而现在可以通过数字化信息得到。这种趋势为用户提供了巨大的好处,也为版权拥有者和内容提供商带来了一些问题。对于用户来说,这意味着资料质量的提高,并且易于获取和管理。对于提供商来说,这使得他们能够以很低的费用提供高质量的内容,但更为重要的是,这种方式使得对内容流向的控制无法完成。数字化信息以难以想象的速度在流动,并且易于复制。这种流动性意味着一旦带有版权的资料到达用户手中,用户能够很容易地对其进行移动和复制,因此盗版也变得相当容易。通常软件公司通过在软件产品中嵌入复制保护技术防止被盗版,即通过在软件产品中嵌入代码片段来防止或限制用户对程序进行复制。


编辑推荐

《反编译技术与软件逆向分析》由国防工业出版社出版。

图书封面

图书标签Tags

广告

下载页面


反编译技术与软件逆向分析 PDF格式下载



专业度还行


必须学的知识、。


不错的一本书,送货也很快。不错!!!


很薄一本书,一天就看完了,不过还有不少有用的东西


此书一般吧,送来时还淋了雨了。。。


不错的一本工具书,很实用,很好!


太慢,送货,态度还可以


所以看下


那时没货


这书还行!


仔细看了,还可以!


阅读该书要有一定基础


理论多一些, 如何用起来,有待继续学习


比较难,买的有些后悔。


卖家还不错,就是时间长了点


太高深了,看不懂,不具体,无实用价值


完全教学类,不适用,原理也讲的很浅,只介绍IA64和ELF,非常虚。


标题党,内容不充实,论述不清楚,


泛泛而谈,适合教授,不适合程序员


基本上都是在描述理论 感觉很空洞的说


书太贵...内容有点少...太薄....实例不够多


相关图书