主页 详情

《黑客调试技术揭密》_(美)卡斯帕克尔(Kaspersky,K.)著;周长发译_11682364_7121028026

【书名】:《黑客调试技术揭密》
【作者】:(美)卡斯帕克尔(Kaspersky,K.)著;周长发译
【出版社】:北京:电子工业出版社
【时间】:2006
【页数】:517
【ISBN】:7121028026
【SS码】:11682364

最新查询

内容简介

第1部分 调试工具入门

第1章 调试工具简介

1.1 了解你的需求

1.2 理解调试器的工作原理

1.3 处理异常

第2章 在UNIX环境中进行调试的特性

2.1 Ptrace是GDB的基础调试工具

2.1.1 Ptrace及其命令

2.1.2 GDB的多线程支持

2.1.3 GDB简明指南

2.1.4 追踪系统调用

2.1.5 相关链接

2.2 UNIX中的黑客工具

2.2.1 调试器

2.2.2 反汇编工具

2.2.3 侦查软件

2.2.4 十六进制编辑器

2.2.5 内存转储程序

2.2.6 自动保护工具

第3章 模拟调试器和仿真器

3.1 最低系统要求

3.2 选择一个仿真器

3.2.1 安全性

3.2.3 是否有源程序

3.2.4 仿真质量

3.2.2 可扩展性

3.2.5 一个内置的调试器

3.3 常见仿真器概述

3.3.1 DOSBox

3.3.2 Bochs

3.3.3 微软Virtual PC

3.3.4 VMware

3.3.5 仿真器特性汇总表

3.4 注解

3.5 仿真器的应用领域

3.5.1 一般用户使用的仿真器

3.5.3 软件开发人员使用的仿真器

3.5.2 管理员使用的仿真器

3.5.4 黑客使用的仿真器

3.5.5 如何在VMware中配置SoftIce

3.5.6 用于其他设备的仿真器

3.6 关于处理器仿真

第4章 用BoundsChecker进行应用程序分析

4.1 快速开始

4.2 装载非标准的DLLs

4.3 菜单项

第2部分 调试工具入门

第5章 保护机制简介

5.1 基于密钥类型的保护机制分类

5.2 创建保护与试图破解

5.3 从EXE到CRK

第6章 熟悉调试器

6.1 方法0:破解原始密码

6.2 方法1:直接在内存中查找输入的密码

6.3 方法2:在密码输入函数中设置断点

6.4 方法3:在消息中设置断点

第7章 IDA崭露头角

7.1 与调试器一起使用反汇编器

7.2 关于IDA C语言

第8章 注册保护机制之道

8.1 如何利用序数来发现函数名

8.2 如何使可执行程序变小

8.3 设陷捕获WM_GETTEXT

第9章 散列及其克服

10.1 限制功能

第10章 常见的用于演示版的保护机制

10.2 限制使用期限

10.3 限制启动次数

10.4 干扰屏幕

10.5 密钥文件

第3部分 反调试技术

第11章 反调试技术简介

反调试技术概述

第12章 各种各样的反调试技术

12.1 防御实模式调试器的技术

隐含地调用构造函数

12.2 防御保护模式调试器的技术

检测SoftIce

12.3 如何防止追踪

追踪

12.4 如何抵御断点

12.4.1 几种肮脏的黑客手法

12.4.2 从中间调用API

12.4.3 通过“死亡”带调用API

12.4.4 拷贝完整的API函数

12.4.5 Windows NT/2000装载程序中的一个缺陷

12.4.6 Windows NT/2000装载程序中的另一个缺陷

12.5 如何利用Windows工具来检测调试

第13章 UNIX特有的反调试技术

13.1 寄生的文件描述符

13.2 命令行参数与环境变量

13.3 进程树

13.4 信号、转储和异常

13.5 检测软件断点

13.6 螳螂捕蝉,黄雀在后

13.7 直接在内存中查找调试器

13.8 测量执行时间

第14章 可自我修改的代码

14.1 可自我修改代码的一个例子

14.2 通过因特网来修改代码的问题

14.3 注解

第15章 使用隐含的自我控制来创建不可破解的保护

15.1 隐含的自我控制技术

15.2 实用的实现

15.3 如何破解

第16章 智力调试

16.1 反汇编

几个小技巧

16.2 汇编

第17章 软件保护

17.1 盒子方案的缺点

17.2 防止非法拷贝和共享序列号的保护方法

17.3 试用版的保护方法

17.4 防止算法重建的保护方法

17.5 防止在磁盘和内存中改写的保护方法

17.6 抵御反汇编器

17.9 抵御转储

17.8 抵御监视程序

17.7 抵御调试器

17.10 如何自我保护

17.11 关于保护机制的几点想法

17.12 防止泄露源程序

17.13 防止分析二进制代码

第18章 如何使你的应用程序更可靠

18.1 溢出错误的原因和后果

18.2 移植到另一种语言

18.3 利用堆来创建数组

18.4 放弃使用结束标志

18.5 结构化异常处理

18.6 传统与可靠

18.7 防止溢出错误

18.8 查找易受攻击的程序

18.9 C语言中不正确的优先级选择

第19章 软件测试

19.1 微观层上的测试

19.2 把错误记录在案

19.3 Beta测试

19.4 诊断信息的输出

19.5 概要

19.6 C/C++语言检验程序

19.7 累计误差的演示

19.8 几点注解

第20章 应用程序和操作系统的严重错误简介

第4部分 应用程序和操作系统的严重错误

20.1 应用程序、非法操作和其他

20.1.1 Doctor Watson

20.1.2 微软Visual Studio Debug

第21章 战兢苟活还是出死入生

21.1 强制退出函数

21.2 回绕堆栈

21.3 将控制传给消息处理函数

第22章 如何利用内存转储

22.1 在出现严重错误后恢复系统

NT内核的符号名前缀

22.2 装载死机转储

23.1 简介

第23章 PE文件格式

第5部分 PE文件

23.2 各种实现系统的PE文件结构特征

23.3 PE文件的一般概念和要求

23.4 PE文件结构

23.5 可做的事与不可做的事

23.6 PE文件各主要字段描述

23.6.1 [old-exe]e_magic

23.6.2 [old-exe]e_cparhdr

23.6.3 [old-exe]e_lfanew

23.6.4 [IMAGE_FILE_HEADER]Machine

23.6.5 [IMAGE_FILE_HEADER]NumberOfSections

23.6.8 [image_file_header]Characteristics

23.6.7 [image_file_header]SizeOfOptionalHeader

23.6.6 [image_file_header]PointerToSymbolTable/NumberOfSymbols

23.6.9 [image_opional_header]Magic

23.6.10 [image_opional_header]SizeOfCode/SizeOfInitializedData/SizeOfUninitializedData

23.6.11 [image_opional_header]BaseOfCode/BaseOfData

23.6.12 [image_opional_header]AddressOfEntryPoint

23.6.13 [image_opional_header]ImageBase

23.6.14 [image_opional_header]FileAlignment/SectionAlignment

23.6.15 [image_opional_header]SizeOfImage

23.6.16 [image_opional_header]SizeOfHeader

23.6.17 [image_opional_header]CheckSum

23.6.18 [image_opional_header]Subsystem

23.6.21 [image_opional_header]NumberOfRvaAndSizes

23.6.20 [image_opional_header]SizeOfStackReserve/SizeOfStackCommit,SizeOfHeapReserve/SizeOfHeapCommit

23.6.19 [image_opional_header]DllCharacteristics

23.6.22 DATA DIRECTORY

23.6.23 段表

23.6.24 输出

23.6.25 输入

23.6.26 可重定位元素

第24章 在PE文件中插入和删除代码的技术

24.1 简介

24.2 X-Code和其他的常规表示法

24.3 X-Code的目标和任务

24.4 X-Code的要求

24.5 代码插入

24.5.1 避免多次插入

24.5.2 插入机制的分类

24.5.3 类别A:插入到文件内的可用空闲空间中

24.5.4 类别A:依靠压缩文件的某些部分来插X-Code

24.5.5 类别A:在文件内创建一个新的NTFS流

24.5.6 类别B:改变文件头的大小

24.5.7 类别B:将段的部分灌入到重叠段

24.5.8 类别B:创建自己的重叠段

24.5.9 类别C:扩展文件的最后一个段

24.5.10 类别C:创建一个新的段

24.5.11 类别C:扩展宿主文件的中间段

24.5.12 类别Z:通过自动装载DLL来插入X-Code

24.6 小结

附盘说明


书查询(www.shuchaxun.com)本网页唯一编码:
308f77ba25218517544f9a3678491254#3a74b38757981597c5544f2abafc6fa9#57541156#11682364.zip