逆向工程实战

出版日期:2015-8
ISBN:9787115388938
作者:[美] Bruce Dang,[法] Alexandre Gazet,[美] Elias Bachaalany,[法] Sébastien Josse
页数:292页

作者简介

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

书籍目录

第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

内容概要

作者简介:
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)。
译者简介:
单业
计算机专业硕士,软件工程师,曾供职于多家软件公司从事软件开发工作,现居于上海。


 逆向工程实战下载



发布书评

 
 


精彩短评 (总计4条)

  •     非常精简,不在多余的地方浪费笔墨。但是提供了一个清晰的学习思路。 书中的样本在https://grsecurity.net/malware_research/可以找到
  •     好书
  •     不适合小白
  •     需要的知识很繁杂,不适合我等入门……
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024