图书介绍
黑客调试技术揭秘PDF|Epub|txt|kindle电子书版本网盘下载
![黑客调试技术揭秘](https://www.shukui.net/cover/64/32582711.jpg)
- (美)卡斯帕克尔著 周长发译 著
- 出版社: 电子工业出版社
- ISBN:
- 出版时间:2006
- 标注页数:516页
- 文件大小:40MB
- 文件页数:534页
- 主题词:
PDF下载
下载说明
黑客调试技术揭秘PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 调试工具入门2
第1章 调试工具简介2
1.1 了解你的需求4
1.2 理解调试器的工作原理7
1.3 处理异常8
第2章 在UNIX环境中进行调试的特性10
2.1 Ptrace是GDB的基础调试工具12
2.1.1 Ptrace及其命令14
2.1.2 GDB的多线程支持15
2.1.3 GDB简明指南16
2.1.4 追踪系统调用20
2.1.5 相关链接21
2.2 UNIX中的黑客工具22
2.2.1 调试器22
2.2.2 反汇编工具26
2.2.3 侦查软件27
2.2.4 十六进制编辑器28
2.2.5 内存转储程序29
2.2.6 自动保护工具29
第3章 模拟调试器和仿真器31
3.1 最低系统要求32
3.2 选择一个仿真器33
3.2.1 安全性33
3.2.3 是否有源程序34
3.2.4 仿真质量34
3.2.2 可扩展性34
3.2.5 一个内置的调试器35
3.3 常见仿真器概述36
3.3.1 DOSBox36
3.3.2 Bochs37
3.3.3 微软Virtual PC38
3.3.4 VMware40
3.3.5 仿真器特性汇总表41
3.4 注解41
3.5 仿真器的应用领域41
3.5.1 一般用户使用的仿真器42
3.5.3 软件开发人员使用的仿真器43
3.5.2 管理员使用的仿真器43
3.5.4 黑客使用的仿真器45
3.5.5 如何在VMware中配置SoftIce46
3.5.6 用于其他设备的仿真器46
3.6 关于处理器仿真47
第4章 用BoundsChecker进行应用程序分析52
4.1 快速开始54
4.2 装载非标准的DLLs56
4.3 菜单项57
第2部分 调试工具入门62
第5章 保护机制简介62
5.1 基于密钥类型的保护机制分类63
5.2 创建保护与试图破解65
5.3 从EXE到CRK67
第6章 熟悉调试器82
6.1 方法0:破解原始密码83
6.2 方法1:直接在内存中查找输入的密码94
6.3 方法2:在密码输入函数中设置断点102
6.4 方法3:在消息中设置断点105
第7章 IDA崭露头角108
7.1 与调试器一起使用反汇编器134
7.2 关于IDA C语言136
第8章 注册保护机制之道140
8.1 如何利用序数来发现函数名144
8.2 如何使可执行程序变小165
8.3 设陷捕获WM_GETTEXT166
第9章 散列及其克服169
10.1 限制功能184
第10章 常见的用于演示版的保护机制184
10.2 限制使用期限201
10.3 限制启动次数205
10.4 干扰屏幕207
10.5 密钥文件215
第3部分 反调试技术228
第11章 反调试技术简介228
反调试技术概述229
第12章 各种各样的反调试技术232
12.1 防御实模式调试器的技术232
隐含地调用构造函数245
12.2 防御保护模式调试器的技术246
检测SoftIce258
12.3 如何防止追踪259
追踪263
12.4 如何抵御断点265
12.4.1 几种肮脏的黑客手法271
12.4.2 从中间调用API272
12.4.3 通过“死亡”带调用API286
12.4.4 拷贝完整的API函数289
12.4.5 Windows NT/2000装载程序中的一个缺陷290
12.4.6 Windows NT/2000装载程序中的另一个缺陷291
12.5 如何利用Windows工具来检测调试291
第13章 UNIX特有的反调试技术293
13.1 寄生的文件描述符293
13.2 命令行参数与环境变量294
13.3 进程树295
13.4 信号、转储和异常296
13.5 检测软件断点296
13.6 螳螂捕蝉,黄雀在后297
13.7 直接在内存中查找调试器298
13.8 测量执行时间299
第14章 可自我修改的代码300
14.1 可自我修改代码的一个例子309
14.2 通过因特网来修改代码的问题310
14.3 注解312
第15章 使用隐含的自我控制来创建不可破解的保护313
15.1 隐含的自我控制技术314
15.2 实用的实现316
15.3 如何破解324
第16章 智力调试333
16.1 反汇编333
几个小技巧354
16.2 汇编355
第17章 软件保护360
17.1 盒子方案的缺点361
17.2 防止非法拷贝和共享序列号的保护方法361
17.3 试用版的保护方法362
17.4 防止算法重建的保护方法362
17.5 防止在磁盘和内存中改写的保护方法363
17.6 抵御反汇编器364
17.9 抵御转储365
17.8 抵御监视程序365
17.7 抵御调试器365
17.10 如何自我保护367
17.11 关于保护机制的几点想法368
17.12 防止泄露源程序369
17.13 防止分析二进制代码371
第18章 如何使你的应用程序更可靠374
18.1 溢出错误的原因和后果374
18.2 移植到另一种语言376
18.3 利用堆来创建数组376
18.4 放弃使用结束标志377
18.5 结构化异常处理378
18.6 传统与可靠379
18.7 防止溢出错误380
18.8 查找易受攻击的程序381
18.9 C语言中不正确的优先级选择384
第19章 软件测试387
19.1 微观层上的测试388
19.2 把错误记录在案389
19.3 Beta测试390
19.4 诊断信息的输出391
19.5 概要393
19.6 C/C++语言检验程序393
19.7 累计误差的演示394
19.8 几点注解396
第20章 应用程序和操作系统的严重错误简介400
第4部分 应用程序和操作系统的严重错误400
20.1 应用程序、非法操作和其他401
20.1.1 Doctor Watson402
20.1.2 微软Visual Studio Debug409
第21章 战兢苟活还是出死入生411
21.1 强制退出函数411
21.2 回绕堆栈414
21.3 将控制传给消息处理函数417
第22章 如何利用内存转储424
22.1 在出现严重错误后恢复系统431
NT内核的符号名前缀432
22.2 装载死机转储433
23.1 简介440
第23章 PE文件格式440
第5部分 PE文件440
23.2 各种实现系统的PE文件结构特征441
23.3 PE文件的一般概念和要求442
23.4 PE文件结构444
23.5 可做的事与不可做的事447
23.6 PE文件各主要字段描述449
23.6.1 [old-exe]e_magic449
23.6.2 [old-exe]e_cparhdr449
23.6.3 [old-exe]e_lfanew449
23.6.4 [IMAGE_FILE_HEADER]Machine450
23.6.5 [IMAGE_FILE_HEADER]NumberOfSections450
23.6.8 [image_file_header]Characteristics451
23.6.7 [image_file_header]SizeOfOptionalHeader451
23.6.6 [image_file_header]PointerToSymbolTable/NumberOfSymbols451
23.6.9 [image_opional_header]Magic453
23.6.10 [image_opional_header]SizeOfCode/SizeOfInitializedData/SizeOfUninitializedData453
23.6.11 [image_opional_header]BaseOfCode/BaseOfData454
23.6.12 [image_opional_header]AddressOfEntryPoint454
23.6.13 [image_opional_header]ImageBase454
23.6.14 [image_opional_header]FileAlignment/SectionAlignment455
23.6.15 [image_opional_header]SizeOfImage456
23.6.16 [image_opional_header]SizeOfHeader456
23.6.17 [image_opional_header]CheckSum457
23.6.18 [image_opional_header]Subsystem457
23.6.21 [image_opional_header]NumberOfRvaAndSizes458
23.6.20 [image_opional_header]SizeOfStackReserve/SizeOfStackCommit,SizeOfHeapReserve/SizeOfHeapCommit458
23.6.19 [image_opional_header]DllCharacteristics458
23.6.22 DATA DIRECTORY459
23.6.23 段表461
23.6.24 输出465
23.6.25 输入468
23.6.26 可重定位元素475
第24章 在PE文件中插入和删除代码的技术479
24.1 简介479
24.2 X-Code和其他的常规表示法480
24.3 X-Code的目标和任务481
24.4 X-Code的要求483
24.5 代码插入484
24.5.1 避免多次插入485
24.5.2 插入机制的分类486
24.5.3 类别A:插入到文件内的可用空闲空间中487
24.5.4 类别A:依靠压缩文件的某些部分来插入X-Code500
24.5.5 类别A:在文件内创建一个新的NTFS流502
24.5.6 类别B:改变文件头的大小503
24.5.7 类别B:将段的部分灌入到重叠段506
24.5.8 类别B:创建自己的重叠段508
24.5.9 类别C:扩展文件的最后一个段509
24.5.10 类别C:创建一个新的段512
24.5.11 类别C:扩展宿主文件的中间段513
24.5.12 类别Z:通过自动装载DLL来插入X-Code516
24.6 小结516
附盘说明517