第1章 基本常识
1. 1 软件保护与解密
1. 2 软件分析技术
1. 2. 1 从软件使用说明和操作格式中分析软件
1. 2. 2 静态分析技术
1. 2. 3 动态分析技术
1. 3 CPU. 操作系统与编程语言
1. 4 保护模式简介
1. 4. 1 Windows 的保护模式(Protected Mode)
1. 4. 2 虚拟内存
1. 4. 3 保护模式的权限级别
1. 4. 4 VxD技术介绍
1. 4. 5 虚拟的Windows世界
第2章 动态分析技术
2. 1 SoftICE安装与配置
2. 1. 1 SoftICE for Windows 9x安装与配置
2. 1. 2 SoftICE for Windows Millennium安装与配置
2. 1. 3 SoftICE for Windows NT/2000安装与配置
2. 2 TRW2000安装与配置
2. 3 SoftICE与TRW2000入门操作
2. 3. 1 调试窗口简介
2. 3. 2 调试窗口操作介绍
2. 3. 3 SoftICE常用命令简介
2. 3. 4 常用Win32 API函数简介
2. 3. 5 熟悉SoftICE操作
2. 3. 6 熟悉TRW2000操作
2. 4 调试工具在解密方面的应用
2. 4. 1 拆解入门
2. 4. 2 练习
2. 5 调试技术提高篇
2. 5. 1 条件表达式
2. 5. 2 SoftICE符号调试技术
2. 5. 3 SoftICE远程调试
2. 5. 4 TRW2000插件开发简介
第3章 静态分析技术
3. 1 虚拟地址和偏移量转换
3. 2 文本的编码方式
3. 3 文件类型分析
3. 4 W32Dasm使用介绍
3. 4. 1 开始
3. 4. 2 保存反汇编文本文件和创建项目文件
3. 4. 3 反汇编源代码的基本操作
3. 4. 4 复制汇编代码文本
3. 4. 5 装载32位的汇编代码进行动态调试
3. 4. 6 虚拟地址和偏移量转换
3. 5 Hiew使用介绍
3. 6 IDA Pro操作入门
3. 6. 1 IDA Pro简介
3. 6. 2 打开文件操作
3. 6. 3 IDA与W32Dasm中的Jmp指令异同
3. 6. 4 IDA Pro基本操作
3. 6. 5 IDA Pro配置
3. 6. 6 标签的用法
3. 6. 7 虚拟地址和偏移量转换
3. 6. 8 签名(Signatures)
3. 6. 9 IDA插件
3. 6. 10 小结
3. 7 十六进制工具使用
3. 7. 1 怎样打开一个文件并且编辑它
3. 7. 2 建立新文件
3. 7. 3 查找和替换
3. 7. 4 文件比较
3. 8 静态反编译
3. 8. 1 Visual Basic反编译
3. 8. 2 FoxPro反编译
3. 8. 3 InstallShield反编译
3. 8. 4 Dephi反编译
3. 8. 5 Java程序反编译
3. 8. 6 PowerBuilder伪码编译程序
第4章 函数. 资源与注册表
4. 1 Window API函数
4. 1. 1 WIN API函数简介
4. 1. 2 常用WIN32 API的列表
4. 2 Windows 的消息机制
4. 2. 1 认识Windows 消息
4. 2. 2 常用Window消息函数列表
4. 2. 3 常用断点设置技巧
4. 3 Windows 资源
4. 3. 1 eXeScope的使用
4. 3. 2 Resource Hacker的使用
4. 4 Windows 注册表
4. 4. 1 系统备份
4. 4. 2 Windows 注册表结构
4. 4. 3 注册表分析工具
4. 4. 4 应用程序与注册表
4. 5 监视系统文件
4. 5. 1 FileMon的使用
4. 5. 2 配置过滤器
第5章 软件保护技术
5. 1 序列号保护方式
5. 1. 1 序列号保护机制
5. 1. 2 如何攻击序列号保护
5. 1. 3 练习
5. 2 警告(Nag)窗口
5. 2. 1 去除警告窗口
5. 2. 2 练习
5. 3 时间限制
5. 3. 1 定时器
5. 3. 2 时间限制
5. 3. 3 练习
5. 4 Key File保护
5. 4. 1 破解Key File的一般思路
5. 4. 2 用于Key File的几个主要函数的说明
5. 4. 3 练习
5. 5 功能限制的程序
5. 5. 1 相关函数
5. 5. 2 拆解范例
5. 5. 3 练习
5. 6 CD—check
5. 6. 1 相关函数
5. 6. 2 练习
5. 7 反跟踪技术
5. 7. 1 Anti—Debug
5. 7. 2 Anti—W32Dasm
5. 7. 3 Anti—RegMon和FileMon
5. 7. 4 API调用的变形
5. 7. 5 花指令
5. 7. 6 FrogsICE使用简介
5. 7. 7 CRC简介
5. 8 密码学加密算法
5. 8. 1 RSA算法
5. 8. 2 Crypto API使用介绍
5. 9 关于软件保护的一般性建议
第6章 Visual Basic程序
6. 1 VB字符编码方式
6. 2 动态分析VB 3. 0与VB 4. 0程序
6. 2. 1 准备工作
6. 2. 2 VB 3. 0程序拆解
6. 2. 3 VB 4. 0程序拆解
6. 2. 4 小结
6. 3 VB 5. 0与VB 6. 0程序
6. 3. 1 配置SoftICE
6. 3. 2 相关函数
6. 3. 3 Visual Basic程序比较方法
6. 3. 4 Oleaut32. dll简介
6. 4 SmartCheck简介
6. 4. 1 SmartCheck配置
6. 4. 2 SmartCheck操作
6. 4. 3 SmartChecK常见事件信息
6. 5 Visual Basic伪编译(P—code)
6. 5. 1 VB6的PCODE 代码执行方式
6. 5. 2 VB6的PCODE代码的复合算式处理形式
6. 5. 3 VB6的PCODE代码的条件表达式
6. 6 练习
第7章 压缩与脱壳
7. 1 PE文件格式
7. 1. 1 概述
7. 1. 2 PE的基本概念
7. 1. 3 PE部首(PE Header)
7. 1. 4 块表(The Section Table)
7. 1. 5 各种块(Sections)的描述
7. 1. 6 PE文件的Import
7. 1. 7 PE文件输出(export)
7. 1. 8 PE格式小结
7. 2 认识压缩与脱壳
7. 2. 1 壳的介绍
7. 2. 2 压缩与脱壳工具简介
7. 3 自动脱壳
7. 3. 1 ProcDump使用简介
7. 3. 2 File Scanner使用简介
7. 4 手动脱壳
7. 4. 1 相关函数
7. 4. 2 PEditor使用简介
7. 4. 3 冲击波2000的使用
7. 4. 4 IceDump和NticeDump的使用
7. 4. 5 Import REConstructor的使用
7. 4. 6 练习
7. 5 认识输入表(Import Table)
7. 5. 1 Import表介绍
7. 5. 2 重建PE文件的输入表
7. 6 脱壳高级篇
7. 6. 1 ASProtect v0.95保护
7. 6. 2 ASProtect v0.94b保护
7. 6. 3 ASProtect 1. 0保护
7. 6. 4 ASProtect 1. 1保护
7. 6. 5 ASProtect 1. 2保护
第8章 补丁制作
8. 1 补丁原理
8. 1. 1 文件补丁
8. 1. 2 内存补丁
8. 2 补丁工具的使用
8. 2. 1 文件补丁工具
8. 2. 2 内存补丁工具
8. 3 SMC技术
8. 3. 1 利用SMC技术补丁UPX v1. 03的壳
8. 3. 2 利用SMC技术补丁ASPack v2. 11的壳
第9章 商用软件保护技术
9. 1 软件狗(Dongles)
9. 1. 1 软件狗介绍
9. 1. 2 软件狗的弱点
9. 1. 3 软件狗解密
9. 1. 4 Visual Basic程序与加密狗
9. 1. 5 练习
9. 2 Vbox保护技术
9. 2. 1 Vbox 4. 03版本
9. 2. 2 Vbox 4. 2版本
9. 2. 3 Vbox 4. 3版本
9. 3 SalesAgent保护技术
9. 3. 1 从“现在购买(BUY NOW)”入手
9. 3. 2 暴力去除SalesAgent的保护
9. 4 Armadillo保护技术
9. 5 SoftSENTRY保护技术
9. 6 TimeLOCK保护技术
9. 6. 1 TimeLOCK 3. 1
9. 6. 2 TimeLOCK 3. 13~3. 15
9. 7 SecuBOM保护技术
9. 8 SafeDISC保护技术
9. 8. 1 方案一
9. 8. 2 ACiD BuRN方案
9. 9 Flexlm保护
9. 9. 1 License文件格式
9. 9. 2 设置环境变量
9. 9. 3 Flexlm Server
9. 9. 4 FlexGen工具用法
9. 9. 5 利用FlexLm SDK解密
附录
附录A ASCII基本字符对照表
附件B ASCII扩展字符对照表
附录C 汇编指令小结
附录D SoftICE操作手册
附录E TRW2000手册
附录F 与本书相关的网络资源
参考资料