《加密与解密 软件保护技术及完全解决方案》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:看雪编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2001
  • ISBN:7505369237
  • 页数:399 页
图书介绍:软件保护工作是维护软件开发人员利益的必要手段,是软件开发过程中的重要环节。本书讲述Windows环境下的软件保护技术及相关解决方案。全书共分为3个部分。第一部分介绍与软件保护技术相关的基础知识。第二部分讲述各种软件保护方式,如序列号、时间限制、CRC、SMC及各种加密算法,并且还介绍了注册表、VB保护程序的特点。第三部分主要介绍脱壳的基本技巧,以及一些大型商业软件保护的实例。本书是国内密界一流好手的呕心之作,通过解析大量的实例来展示软件调试的最深处,是软件开发人员不可多得的读物。

第1章 基本常识 1

1.1 软件保护与解密 1

1.2 软件分析技术 2

1.2.1 从软件使用说明和操作格式中分析软件 2

1.2.2 静态分析技术 2

1.2.3 动态分析技术 3

1.3 CPU、操作系统与编程语言 4

1.4 保护模式简介 5

1.4.1 Windows的保护模式(Protected Mode) 5

1.4.2 虚拟内存 6

1.4.3 保护模式的权限级别 6

1.4.4 VxD技术介绍 7

1.4.5 虚拟的Windows世界 8

第2章 动态分析技术 10

2.1 SoftICE安装与配置 10

2.1.1 SoftICE for Windows 9x安装与配置 10

2.1.2 SoftICE for Windows Millennium安装与配置 19

2.1.3 SoftICE for Windows NT/2000安装与配置 19

2.2 TRW2000安装与配置 20

2.3 SoftICE与TRW2000入门操作 22

2.3.1 调试窗口简介 22

2.3.2 调试窗口操作介绍 24

2.3.3 SoftICE常用命令简介 26

2.3.4 常用Win32 API函数简介 31

2.3.5 熟悉SoftICE操作 33

2.3.6 熟悉TRW2000操作 34

2.4.1 拆解入门 36

2.4 调试工具在解密方面的应用 36

2.4.2 练习 39

2.5 调试技术提高篇 43

2.5.1 条件表达式 43

2.5.2 SoftICE符号调试技术 48

2.5.3 SoftICE远程调试 50

2.5.4 TRW2000插件开发简介 56

第3章 静态分析技术 60

3.1 虚拟地址和偏移量转换 60

3.2 文本的编码方式 62

3.3 文件类型分析 63

3.4 W32Dasm使用介绍 64

3.4.1 开始 64

3.4.3 反汇编源代码的基本操作 65

3.4.2 保存反汇编文本文件和创建项目文件 65

3.4.4 复制汇编代码文本 68

3.4.5 装载32位的汇编代码进行动态调试 68

3.4.6 虚拟地址和偏移量转换 69

3.5 Hiew使用介绍 70

3.6 IDA Pro操作入门 71

3.6.1 IDA Pro简介 71

3.6.2 打开文件操作 72

3.6.3 IDA与W32Dasm中的JmP指令异同 73

3.6.4 IDA Pro基本操作 74

3.6.5 IDA Pro配置 77

3.6.6 标签的用法 78

3.6.7 虚拟地址和偏移量转换 78

3.6.10 小结 79

3.6.9 IDA插件 79

3.6.8 签名(Signatures) 79

3.7 十六进制工具使用 80

3.7.1 怎样打开一个文件并且编辑它 80

3.7.2 建立新文件 81

3.7.3 查找和替换 81

3.7.4 文件比较 82

3.8 静态反编译 83

3.8.1 Visual Basic反编译 83

3.8.2 FoxPro反编译 83

3.8.3 InstallShield反编译 84

3.8.4 Dephi反编译 91

3.8.5 Java程序反编译 100

3.8.6 PowerBuilder伪码编译程序 105

4.1.1 WIN API函数简介 107

第4章 函数、资源与注册表 107

4.1 Window API函数 107

4.1.2 常用WIN32 API的列表 108

4.2 Windows的消息机制 111

4.2.1 认识Windows消息 111

4.2.2 常用Window消息函数列表 112

4.2.3 常用断点设置技巧 116

4.3 Windows资源 117

4.3.1 eXeScope的使用 117

4.3.2 Resource Hacker的使用 119

4.4 Windows注册表 120

4.4.1 系统备份 121

4.4.2 Windows注册表结构 123

4.4.3 注册表分析工具 125

4.4.4 应用程序与注册表 127

4.5 监视系统文件 129

4.5.1 FileMon的使用 129

4.5.2 配置过滤器 130

第5章 软件保护技术 132

5.1 序列号保护方式 132

5.1.1 序列号保护机制 132

5.1.2 如何攻击序列号保护 135

5.1.3 练习 137

5.2 警告(Nag)窗口 137

5.2.1 去除警告窗口 137

5.2.2 练习 138

5.3.1 定时器 140

5.3 时间限制 140

5.3.2 时间限制 141

5.3.3 练习 143

5.4 Key File保护 143

5.4.1 破解Key File的一般思路 144

5.4.2 用于Key File的几个主要函数的说明 144

5.4.3 练习 146

5.5 功能限制的程序 146

5.5.1 相关函数 147

5.5.2 拆解范例 147

5.5.3 练习 150

5.6 CD-check 151

5.6.1 相关函数 151

5.6.2 练习 153

5.7.1 Anti-Debug 154

5.7 反跟踪技术 154

5.7.3 Anti-RegMon和FileMon 161

5.7.2 Anti-W32Dasm 161

5.7.4 API调用的变形 162

5.7.5 花指令 162

5.7.6 FrogsICE使用简介 167

5.7.7 CRC简介 171

5.8 密码学加密算法 171

5.8.1 RSA算法 172

5.8.2 Crypto API使用介绍 173

5.9 关于软件保护的一般性建议 175

6.1 VB字符编码方式 177

6.2 动态分析VB 3.0与VB 4.0程序 177

第6章 Visual Basic程序 177

6.2.1 准备工作 178

6.2.2 VB 3.0程序拆解 178

6.2.3 VB 4.0程序拆解 179

6.2.4 小结 183

6.3 VB 5.0与VB 6.0程序 183

6.3.1 配置SoftICE 183

6.3.2 相关函数 184

6.3.3 Visual Basic程序比较方法 185

6.3.4 Oleaut32.dll简介 188

6.4 SmartCheck简介 189

6.4.1 SmartCheck配置 189

6.4.2 SmartCheck操作 190

6.4.3 SmartCheck常见事件信息 192

6.5.1 VB6的PCODE代码执行方式 194

6.5 Visual Basic伪编译(P-code) 194

6.5.2 VB6的PCODE代码的复合算式处理形式 199

6.5.3 VB6的PCODE代码的条件表达式 200

6.6 练习 203

第7章 压缩与脱壳 212

7.1 PE文件格式 212

7.1.1 概述 212

7.1.2 PE的基本概念 213

7.1.3 PE部首(PE Header) 214

7.1.4 块表(The Section Table) 218

7.1.5 各种块(Sections)的描述 219

7.1.6 PE文件的Import 220

7.1.7 PE文件输出(export) 222

7.1.8 PE格式小结 223

7.2 认识压缩与脱壳 224

7.2.1 壳的介绍 224

7.2.2 压缩与脱壳工具简介 226

7.3 自动脱壳 227

7.3.1 ProcDump使用简介 227

7.3.2 File Scanner使用简介 236

7.4 手动脱壳 237

7.4.1 相关函数 237

7.4.2 PFditor使用简介 238

7.4.3 冲击波2000的使用 240

7.4.4 IceDump和NticeDump的使用 240

7.4.5 Import REConstructor的使用 249

7.4.6 练习 250

7.5.1 Import表介绍 253

7.5 认识输入表(Import Table) 253

7.5.2 重建PE文件的输入表 256

7.6 脱壳高级篇 259

7.6.1 ASProtect v0.95保护 259

7.6.2 ASProtect v0.94b保护 263

7.6.3 ASProtect 1.0保护 265

7.6.4 ASProtect 1.1保护 273

7.6.5 ASProtect 1.2保护 277

第8章 补丁制作 282

8.1 补丁原理 282

8.1.1 文件补丁 282

8.1.2 内存补丁 283

8.2.1 文件补丁工具 286

8.2 补丁工具的使用 286

8.2.2 内存补丁工具 288

8.3 SMC技术 289

8.3.1 利用SMC技术补丁UPX v1.03的壳 290

8.3.2 利用SMC技术补丁ASPack v2.11的壳 292

第9章 商用软件保护技术 296

9.1 软件狗(Dangles) 296

9.1.1 软件狗介绍 296

9.1.2 软件狗的弱点 297

9.1.3 软件狗解密 298

9.1.4 Visual Basic程序与加密狗 299

9.1.5 练习 304

9.2 Vbox保护技术 305

9.2.1 Vbox 4.03版本 306

9.2.2 Vbox 4.2版本 308

9.2.3 Vbox 4.3版本 310

9.3 SalesAgent保护技术 311

9.3.1 从“现在购买(BUY NOW)”入手 311

9.3.2 暴力去除SalesAgent的保护 315

9.4 Armadillo保护技术 316

9.5 SoftSENTRY保护技术 319

9.6 TimeLOCK保护技术 320

9.6.1 TimeLOCK 3.1 320

9.6.2 TimeLOCK 3.13~3.15 323

9.7 SecuROM保护技术 325

9.8 SafeDISC保护技术 329

9.8.1 方案一 329

9.8.2 ACiD BuRN方案 333

9.9.1 License文件格式 337

9.9 Flexlm保护 337

9.9.2 设置环境变量 339

9.9.3 Flexlm Server 340

9.9.4 FlexGen工具用法 341

9.9.5 利用FlexLm SDK解密 343

附录 348

附录A ASCII基本字符对照表 348

附件B ASCII扩展字符对照表 349

附录C 汇编指令小结 349

附录D SoftICE操作手册 356

附录E TRW2000手册 395

附录F 与本书相关的网络资源 398

参考资料 399