《黑客反汇编揭秘》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(俄)卡巴斯基著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121106279
  • 页数:448 页
图书介绍:本书既不是一本破解代码的技术手册,也不是一本关于反黑客的防护手册,本书可以看做是一位喜欢刨根问底的自由主义者的学习笔记。你可以跟随他的脚步,考察Intel编译器,洞悉商业程序的保护机制,学习使用反汇编器与调试器。

第一篇 黑客工具介绍 2

第1章 携黑客工具启程 2

1.1 调试器 2

1.2 反汇编器 6

1.3 反编译器 8

1.4 十六进制编辑器 10

1.5 解包器(Unpacker) 12

1.6 转储器 13

1.7 资源编辑器 14

1.8 窥测器(Spy) 14

1.9 监视器(Monitor) 15

1.10 修正器 17

1.11 受保护光盘复制器 17

第2章 UNIX黑客工具 18

2.1 调试器 18

2.2 反汇编器 21

2.3 窥测器 22

2.4 十六进制编辑器 23

2.5 转储器 24

2.6 自动保护工具 24

第3章 调试器与仿真器的仿真 25

3.1 仿真器概述 25

3.2 历史概况 25

3.2.1 仿真器的应用范围 27

3.2.2 硬件虚拟 31

3.3 流行的仿真器 32

3.3.1 DOSBox 32

3.3.2 Bochs 34

3.3.3 VMware 35

3.3.4 Microsoft Virtual PC 37

3.3.5 Xen 39

3.3.6 最势均力敌的竞争对手 40

3.4 仿真器的选择 41

3.4.1 安全性 41

3.4.2 可扩展性 41

3.4.3 源代码是否可用 41

3.4.4 仿真的质量 42

3.4.5 内置调试器 43

3.4.6 如何在VMware下配置SoftICE 45

第4章 汇编器入门 46

4.1 汇编语言方法论 47

4.2 基于C程序实例解释汇编概念 48

4.3 汇编插入语句 49

4.4 可用的汇编语言工具 50

4.5 汇编编译器的概况与比较 51

4.5.1 评判的基本标准 52

4.5.2 MASM 54

4.5.3 TASM 56

4.5.4 FASM 57

4.5.5 NASM 58

4.5.6 YASM 59

4.5.7 结论 60

第二篇 基本黑客技术 64

第5章 走进黑客门 64

5.1 按密钥类型划分保护机制 67

5.2 保护机制的强度 68

5.3 商业化保护机制的缺点 70

5.4 定制保护机制的实现错误 70

5.4.1 非授权复制与序列号分发 70

5.4.2 试用期及其弱点 71

5.4.3 算法重建 74

5.4.4 磁盘与内存的修改 78

5.4.5 反反汇编器 78

5.4.6 反调试技术 79

5.4.7 反监听器 79

5.4.8 反转储器 79

5.4.9 弥补保护机制 80

5.5 容易导致严重后果的小错误 80

第6章 热身 83

6.1 创建保护机制,并尝试破解 83

6.2 走近反汇编器 85

6.2.1 批反汇编器与交互式反汇编器 86

6.2.2 使用批反汇编器 87

6.2.3 从EXE到CRK 90

6.3 实际的破解范例 101

6.3.1 抑制干扰屏的出现 102

6.3.2 强行注册 105

6.3.3 彻底破解或者驯服“About”对话框 108

6.4 总结 111

第7章 通晓应用程序调试技术 112

7.1 调试简介 112

7.2 配套使用反汇编器与调试器 113

7.3 API函数断点 115

7.4 消息断点 117

7.5 数据断点 118

7.6 展开堆栈 119

7.7 调试DLL 121

7.8 总结 122

第8章 在UNIX与Linux下的特殊调试技术 123

8.1 GDB的基础——ptrace 124

8.1.1 ptrace及其命令 126

8.1.2 GDB对多进程的支持 127

8.1.3 GDB简介 128

8.1.4 跟踪系统调用 131

8.2 用GDB调试二进制文件 133

8.2.1 准备进行文件调试 133

8.2.2 跟踪前的准备 138

第9章 Linice内核调试基础 141

9.1 系统要求 142

9.2 编译与配置Linice 143

9.3 引导系统与启动调试器 144

9.4 Linice的基本使用原理 147

9.5 总结 151

第10章 高级调试专题 152

10.1 SoftICE用做日志记录器 152

10.1.1 热身运动 153

10.1.2 更复杂的过滤器 156

10.1.3 SoftICE的动画型跟踪 159

10.2 随机设置断点的技巧 160

10.2.1 单步跟踪的秘密 161

10.3 通过覆盖方法进行破解 169

10.3.1 总体思路 169

10.3.2 工具的选择 170

10.4 确定代码覆盖的算法 172

10.5 方法的选择 173

10.6 程序破解实例 174

10.7 总结 179

第三篇 高级反汇编技术第11章 反汇编32位PE文件 182

11.1 PE文件结构不同实现形式的特性 182

11.2 PE文件的一般概念与要求 183

11.3 PE文件结构 184

11.4 PE文件的代码插入与删除技术 186

11.4.1 X码概念及其他约定 186

11.4.2 X码的目的与任务 187

11.4.3 对X码的要求 188

11.4.4 插入 189

11.5 总结 215

第12章 在Linux与BSD中反汇编ELF文件 216

12.1 所需要的工具 216

12.2 ELF文件结构 217

12.3 在ELF文件中插入外来码 219

12.3.1 通过合并来感染文件 220

12.3.2 通过扩展文件的最后分区来感染文件 222

12.3.3 通过压缩部分原始文件而感染文件 224

12.3.4 通过扩展文件的代码分区而感染文件 228

12.3.5 通过下移代码分区而感染文件 231

12.3.6 通过创建定制分区而感染文件 233

12.3.7 通过在文件与头结构之间插入代码而感染文件 233

12.3.8 在ELF文件中插入代码的实验 234

12.4 反汇编Linux版tiny-crackme程序 241

12.4.1 剖析tiny-crackme 241

12.5 总结 253

第13章 反汇编x86-64程序 254

13.1 简介 254

13.2 需要的工具 255

13.3 x86-64体系结构概述 258

13.4 切换到64位模式 260

13.5 x86-64平台上的“Hello,World”程序 262

13.6 总结 267

第14章 反汇编与破解Linux内核 268

14.1 反汇编Linux内核 268

14.1.1 内核的外围话题 268

14.1.2 攻击内核 269

14.1.3 深入内核 271

14.1.4 错误所在的位置 275

14.2 内核攻击秘诀 276

14.2.1 修改Linux徽标 276

第15章 高级补丁技术 281

15.1 联机补丁的秘密与诀窍 281

15.1.1 最简单的联机补丁器 282

15.1.2 大比拼 284

15.1.3 截取传递信号的API函数 285

15.1.4 硬件断点 287

15.2 几种鲜为人知的破解客户程序的方法 289

15.2.1 破解客户应用程序的方法概述 289

15.2.2 在不编辑字节的情况下进行修改 289

15.3 Windows NT/2000/XP内核黑码事宜 296

15.3.1 内核结构 296

15.3.2 内核类型 298

15.3.3 修改内核的方法 300

15.3.4 修改启动徽标 306

15.4 BSOD之后还有活路吗 308

15.4.1 用SoftICE克服BSOD 309

15.4.2 自动实现的复活过程 313

15.4.3 这个反BSOD程序安全吗 317

15.5 总结 318

第16章 反汇编其他格式的文件 319

16.1 反汇编PDF文件 319

16.1.1 Adobe Acrobat为那些不循规蹈矩的人提供了什么 320

16.1.2 修改Adobe Acrobat 323

16.1.3 使用打印屏幕功能实施破解 324

16.1.4 尽量多懂几种语言 324

16.1.5 PDF文件结构 324

16.1.6 生成加密密钥 328

16.1.7 攻击U-密码 329

16.1.8 如何动手破解PDF密码 331

16.2 总结 333

第四篇 实用代码探查技术第17章 在Windows上捉迷藏 336

17.1 Windows反调试技术 337

17.1.1 历史在不断地重演 339

17.1.2 自跟踪程序 340

17.1.3 基于物理内存访问的反调试技术 345

17.1.4 Windows 2000/XP SDT Restore如何工作 349

17.2 Windows世界的隐形技术 349

17.2.1 Blue Pill、Red Pill——Windows Longhorn再现《黑客帝国》 350

17.2.2 Blue Pill 350

17.2.3 规避数字签名 350

17.2.4 沉迷于虚拟世界 352

17.2.5 Red Pill 355

17.3 总结 357

第18章 攻克打包器 358

18.1 初步的分析 358

18.2 解包与其他方法 361

18.3 解包算法 361

18.4 搜索原始入口点 362

18.4.1 活动程序转储 362

18.4.2 通过内存中的签名搜索启动代码 364

18.4.3 流行但低效的工具:GetModuleHandleA与fs:0 365

18.4.4 解包器的副作用 369

18.4.5 基于堆栈平衡找到OEP的通用方法 372

18.4.6 如果调试器跳过了解包器入口点怎么办 375

18.5 转储受保护的应用程序 377

18.5.1 简单转储案例 377

18.5.2 自行搜索 381

18.5.3 从外部查看转储内容 382

18.5.4 动态解密机制 383

18.5.5 对内部数据进行转储 384

18.5.6 打包器的诡计 386

18.6 总结 388

第19章 攻克代码混淆 389

19.1 混码器如何发挥作用 390

19.2 如何破解混淆程序 394

19.2.1 解除代码混淆 395

19.3 黑盒方法 397

19.4 虚拟机牢笼 398

19.5 总结 399

第20章 攻克Linux与BSD打包器 400

20.1 打包器对性能的影响 400

20.2 ELFCrypt 401

20.3 UPX 408

20.4 Burneye 410

20.5 Shiva 413

20.6 打包器的比较 414

20.7 总结 415

第21章 调试与反汇编恶意软件 416

21.1 用调试器反监视 416

21.1.1 时间也会留下印记 416

21.1.2 进程树 418

21.1.3 查看线程 420

21.1.4 恢复系统服务表 426

21.2 攻击程序的核查与反汇编 430

21.2.1 如何反汇编攻击程序 431

21.2.2 分析消息排队攻击程序 432

21.2.3 如何在调试器下运行外壳码 443

21.3 总结 444