《逆向工程实战》

《逆向工程实战》 《逆向工程实战》

  • 书名:《逆向工程实战》
  • 分类:编程
  • 作者:[美] Bruce Dang,[法] Alexandre Gazet,[美] Elias Bachaalany,[法] Sébastien Josse
  • 出版社:人民邮电出版社
  • 出版年:2015-8
  • 售价:59.00元
  • 装订:平装
  • 页码:292

《逆向工程实战》 内容介绍:

本书是一本涵盖x86、x64和ARM操作系统的逆向工程类图书,由浅入深地讲解了包括Windows内核模式代码的恶意软件和驱动程序、虚拟机保护技术等内容。作者通过大量真实案例和示例,提供了系统化的解决方案。

作者[美] Bruce Dang,[法] Alexandre Gazet,[美] Elias Bachaalany,[法] Sébastien Josse介绍:

作者简介: Bruce Dang 微软高级安全开发工程经理,专注于Windows内核和逆向工程领域。负责待发布产品的安全技术,之前负责处理报告给微软的安全漏洞。曾在RSA、BlackHat Vegas、BlackHat Tokyo、Chaos Computer Club、REcon和许多其他行业会议上发言。 Alexandre Gazet Quarkslab 高级安全研究员,专注于逆向工程和软件保护。Alexandre曾在多个会议上发言,包括HITB Kuala Lumpur(2009)和REcon Montreal(2010及2011)。 Elias Bachaalany 微软软件安全工程师。在过去的14年中,他曾做过程序员、逆向工程师、自由技术写作者,偶尔也进行逆向工程的培训工作。Elias曾在REcon Montreal上有过两次发言(2012以及2013)。 Sébastien Josse 法国国防部武器装备总局的一名安全研究员。作为教师、研究员和顾问,他在民用及国防部门的信息系统安全领域深耕了十年有余。曾在知名期刊和多个会议上发表论文,包括ECRYPT(2004)、EICAR(2006、2008、2011)、AVAR(2007)以及HICSS(2012、2013以及2014)。 译者简介: 单业 计算机专业硕士,软件工程师,曾供职于多家软件公司从事软件开发工作,现居于上海。

《逆向工程实战》 目录大纲:

第1章 x86与x64  1
1.1 寄存器组与数据类型  1
1.2 指令集  3
1.2.1 语法  3
1.2.2 数据移动  4
1.3 练习  9
1.3.1 算术运算  9
1.3.2 栈操作与函数调用  11
1.4 练习  14
1.5 系统机制  21
1.5.1 地址转换  21
1.5.2 中断与异常  23
1.6 综合练习  23
1.7 练习  29
1.8 x64  30
1.8.1 寄存器组与数据类型  30
1.8.2 数据移动  31
1.8.3 规范地址  31
1.8.4 函数调用  31
1.9 练习  32
第2章 ARM  33
2.1 基本特性  34
2.2 数据类型与寄存器  35
2.3 系统级控制与设置  37
2.4 指令集介绍  38
2.5 数据加载与存储  39
2.5.1 LDR与STR  39
2.5.2 LDR的其他用途  42
2.5.3 LDM与STM  43
2.5.4 PUSH与POP  46
2.6 函数与函数调用  48
2.7 算术运算  50
2.8 分支跳转与条件执行  51
2.8.1 Thumb状态  54
2.8.2 switch-case  55
2.9 杂项  56
2.9.1 JIT与SMC  56
2.9.2 同步原语  57
2.9.3 系统服务与机制  57
2.9.4 指令  59
2.10 综合练习  59
2.11 下一步  65
2.12 练习  65
第3章 Windows内核  73
3.1 Windows基础  73
3.1.1 内存布局  73
3.1.2 处理器初始化  74
3.1.3 系统调用  77
3.1.4 中断请求级  88
3.1.5 内存池  89
3.1.6 MDL  90
3.1.7 进程与线程  90
3.1.8 执行上下文  92
3.1.9 内核同步原语  93
3.2 列表  94
3.2.1 实现细节  94
3.2.2 综合练习  100
3.2.3 练习  104
3.3 异步与乱序执行  108
3.3.1 系统线程  108
3.3.2 work item  109
3.3.3 APC  111
3.3.4 DPC  114
3.3.5 定时器  118
3.3.6 进程与线程回调  120
3.3.7 完成例程  120
3.4 I/O请求包  122
3.5 驱动程序结构  123
3.5.1 入口点  124
3.5.2 驱动程序与设备对象  125
3.5.3 IRP 处理  126
3.5.4 用户内核通信常用机制  127
3.5.5 系统机制杂项  128
3.6 综合练习  130
3.6.1 x86后门程序实例  131
3.6.2 x64后门程序实例  145
3.7 下一步  151
3.8 练习  151
3.8.1 建立自信,巩固知识  152
3.8.2 探索与知识扩展  153
3.8.3 驱动分析实战  155
第4章 调试与自动化  156
4.1 调试工具与基本命令  156
4.1.1 设置符号路径  157
4.1.2 调试器窗口  158
4.1.3 表达式求值  158
4.1.4 流程控制与Debug 事件  162
4.1.5 寄存器、内存与符号  165
4.1.6 断点  173
4.1.7 查看进程与模块  175
4.1.8 杂项命令  178
4.2 编写调试工具脚本  179
4.2.1 伪寄存器  180
4.2.2 别名  182
4.2.3 语言  187
4.2.4 脚本文件  198
4.2.5 像使用函数一样使用脚本  201
4.2.6 调试脚本示例  206
4.3 使用SDK  212
4.3.1 概念  213
4.3.2 编写调试工具扩展  216
4.4 有用的扩展、工具和资源  218
第5章 代码混淆  220
5.1 混淆技术概览  221
5.1.1 混淆的本质:一个热身例子   221
5.1.2 基于数据的混淆技术  224
5.1.3 基于控制的混淆技术  227
5.1.4 同时使用控制流与数据流混淆技术  232
5.1.5 通过代码模糊获得安全性  235
5.2 解混淆技术概述  236
5.2.1 解混淆的本质:逆变换  236
5.2.2 解混淆工具  240
5.2.3 解混淆实践  254
5.3 案例研究  267
5.3.1 第一印象  267
5.3.2 分析处理函数语义  269
5.3.3 符号执行  271
5.3.4 完成挑战  272
5.3.5 最后的想法  274
5.4 练习  274
5.5 参考文献  274
附录 实例名称与相应的SHA1散列值  278


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

Python 编程金典

《Python 编程金典》

P.J.Deitel,J.P.Liperi,B.A.Wiedermann,H.M.Deitel.清华大学出版社.2003-6

“本书由全球著名的程序语言培训专家精心编著,解释了如何将Python用作常规用途,编写多层、客户机/服务器结构、数据库密集...”

GNU Make项目管理(第三版)

《GNU Make项目管理(第三版)》

(美)Robert Mecklenburg.东南大学出版社.2006-7

“make是unix和其他操作系统上最持久的工具之一。自1970年问世以来,make至今仍旧是大多数程序开发项目的核心工具...”

C程序员从校园到职场

《C程序员从校园到职场》

周兆熊.人民邮电出版社.2015-9-1

“要成为一名合格的C程序员,仅仅依靠课堂上的所学所练是远远不够的,实际的软件开发对从业者提出了更高的要求。本书重在讲述从学...”

Windows PowerShell for Developers

《Windows PowerShell for Developers》

Finke, Douglas..2012-7

“The PowerShell platform gives developers seamless integratio...”

爱上Python

《爱上Python》

[新加坡] Jamie Chan.人民邮电出版社.2016-6

“本书将复杂的编程概念分解成简单的步骤,简单易懂。作者通过多年的教学经验精心挑选出了有特点的例子,手把手地实例教学。这本书...”

Swift by Tutorials

《Swift by Tutorials》

Colin Eberhardt,Matt Galloway.Razeware LLC.2014-12-4

“”

Scala in Action

《Scala in Action》

Nilanjan Raychaudhuri.Manning Publications.2013-4-13

“DESCRIPTION Even within a single application, programming pr...”

Programming Social Applications

《Programming Social Applications》

Jonathan LeBlanc.O'Reilly Media.2011-8-22

“Like all good web ventures, the Social Web has risen in prom...”

Is Parallel Programming Hard, And, If So, What Can You Do About It?

《Is Parallel Programming Hard, And, If So, What Can You Do About It?》

Paul E. McKenney..

“The purpose of this book is to help you understand how to pr...”

Windows环境下32位汇编语言程序设计

《Windows环境下32位汇编语言程序设计》

罗云彬.电子工业出版社.2003.3

“Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件...”

Ext JS 4 First Look

《Ext JS 4 First Look》

Loiane Groner.Packt Publishing.2012-1-30

“A practical guide including examples of the new features in ...”

Pro Android 4

《Pro Android 4》

Satya Komatineni,Dave MacLean.Apress.2012-3-7

“Pro Android 4 shows you how to build real-world and fun mobi...”

Win32多线程程序设计

《Win32多线程程序设计》

[美] Jim Beveridge,Robert Wiener.华中科技大学出版社.2002-1

“《Win32多线程程序设计》全书共分三篇。第一篇包括线程的启动和结束、核心对象、激发和未激发状态的意义、同步机制及其用途...”

Autotools

《Autotools》

John Calcote.No Starch Press.2010-7-20

“The GNU Autotools make it easy for developers to create soft...”

The Past, Present, and Future of JavaScript

《The Past, Present, and Future of JavaScript》

Axel Rauschmayer.O’Reilly Media, Inc..2012-7-20

“Over recent years, JavaScript has seen an impressive rise in...”

iOS开发进阶

《iOS开发进阶》

唐巧.电子工业出版社.2015-1-1

“《iOS开发进阶》分工具、实践、理论三大部分。第一部分介绍iOS 开发的常用工具,第二部分介绍iOS开发中的一些常见的实...”

Beginning Android 3

《Beginning Android 3》

Mark Murphy.Apress.2011-4-29

“The vibrant and rich Android development platform, created b...”

C++ Primer(第4版)习题解答

《C++ Primer(第4版)习题解答》

蒋爱军、李师贤、梅晓勇编.人民邮电出版社.2007-2

“《C++ Primer习题解答》为C++ Primer(第4版)的配套书籍,根据C++ Primer(第4版)中所介绍的...”

VTK图形图像开发进阶

《VTK图形图像开发进阶》

张晓东,罗火灵.机械工业出版社.2015-4

“本书系统地介绍了VTK基础知识与开发技术,帮助VTK用户从入门到进阶,快速进入项目实战。本书第1章是VTK概览,介绍VT...”

Java TCP/IP Socket编程

《Java TCP/IP Socket编程》

Kenneth L. Calvert,Michael J. Donahoo.机械工业出版社.2009-1

“《Java TCP/IP Socket编程(原书第2版)》基于TCP/IP Socket相关原理,对如何在Java中进行...”