图书介绍
软件加密原理与应用pdf电子书版本下载
- 飞天诚信编著 著
- 出版社: 北京:电子工业出版社
- ISBN:7121003732
- 出版时间:2004
- 标注页数:443页
- 文件大小:99MB
- 文件页数:456页
- 主题词:软件-加密;软件-密码-解密译码
PDF下载
下载说明
软件加密原理与应用PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录 1
第1章 软件加密综述 1
1.1 软件加密的发展历史 2
1.2 软件加密方式的确定因素 5
1.3 软件保护的应用模式 7
1.4 软件加密的误区 9
1.5 软件加密的代价 11
第2章 方法 13
2.1 密码表 13
2.2 软盘加密 14
2.2.1 软盘的构造和原理 14
2.2.2 软盘驱动器的结构原理 19
2.2.3 软盘控制器 23
2.2.4 终极软盘控制方法——直接I/O 27
2.2.5 软盘加密技术与技巧 39
2.3 电子注册 44
2.3.1 用户名/密码 45
2.3.2 计算机信息 46
2.3.3 Key file或License file 48
2.4 光盘加密 48
2.4.1 光盘的构造和原理 48
2.4.2 常见的光盘加密方法 50
2.5 硬件加密 54
2.5.1 硬件加密的发展史 54
2.4.3 光盘加密的缺点 54
2.5.2 硬件加密的原理 55
2.5.3 市面上常见的加密锁 55
第3章 破解 56
3.1 了解解密者 56
3.1.1 解密者的心态 56
3.1.2 解密者的水平 58
3.1.3 解密者的思路 58
3.2 Patch,Serial和KeyMaker——地下世界的规则 59
3.2.1 文件补丁(File Patch) 60
3.2.2 内存补丁(Memory Patch) 61
3.2.3 序列码(Serial Number) 61
3.2.4 注册机(Key Maker) 62
3.3 另类破解 63
3.3.1 内存快照 63
3.3.2 暴力破解 66
3.3.3 溢出攻击 67
3.4 解密者的工作流程 68
3.4.1 研究保护方法 68
3.4.2 脱壳 68
3.4.3 辨别开发工具 68
3.4.4 静态分析 70
3.4.5 动态分析 71
3.4.6 解密工具 72
3.4.7 反编译 72
3.5.2 软件调用动态链接库 73
3.5 软件保护的薄弱环节 73
3.5.1 软件的安装与卸载 73
3.5.3 暴露信息的系统API调用 74
3.5.4 一个被放大的加密点 75
3.5.5 加密点的安排 76
第4章 语言 77
4.1 解释与编译 77
4.1.1 编译 78
4.1.2 解释 79
4.1.3 编译型语言 80
4.1.4 解释型语言 80
4.2.1 各代微处理器的寄存器的区别 81
4.2 永远的汇编语言 81
4.2.2 存储器寻址的实地址方式和保护虚拟地址方式 86
4.2.3 寻址方式概述 92
4.2.4 常用指令概述 96
4.3 Java代码的保护 103
4.3.1 类文件格式 104
4.3.2 Java虚拟机 106
4.3.3 Java的安全性 110
4.3.4 Java类文件的保护 111
4.4 虚拟机保护策略 123
4.4.1 虚拟计算机简介 123
4.4.2 虚拟机保护策略的具体实现 126
4.4.3 如何用TINY来保护软件 138
第5章 外壳 144
5.1 什么是外壳 144
5.2 与壳有关的技术 145
5.3 PE基础知识 149
5.3.1 WIN32可执行程序的加载 150
5.3.2 虚拟地址 150
5.3.3 RVA 150
5.3.4 导出函数表 150
5.3.5 引入函数表及引入函数地址表 151
5.3.6 Section及Section表 151
5.3.9 WIN32 ASM 152
5.3.8 链接器、Lib文件 152
5.3.7 编译器、Obj文件 152
5.3.10 调用方式 153
5.3.11 局部变量全局变量 155
5.3.12 PE文件头 155
5.4 加壳与脱壳 168
5.4.1 壳的识别 168
5.4.2 使用ProcDump实现自动脱壳 170
5.4.3 找入口点(OEP) 170
5.4.4 引入表修复 173
5.4.5 打造自己的外壳 178
5.5 实战自己的外壳 178
5.5.1 PEMaker使用 178
5.5.2 指针、函数指针 184
5.5.3 在程序启动前添加MessageBox 185
5.5.4 在启动时做更多的事 186
5.5.5 Windows程序入口 187
5.5.6 壳的入口函数 190
5.5.7 置换引入函数表实现Hook ExitProcess 196
5.5.8 代码、数据 197
5.5.9 对代码进行异或加密 199
5.5.10 壳内自检 202
5.5.11 基址重定位 206
5.6.3 增加程序引用的动态库 225
5.6.2 增加区块 225
56.1 规避防毒软件 225
5.6 关于壳的扩充 225
5.6.4 在壳中应用线程 226
5.6.5 定时访问加密锁 227
5.6.6 利用Sleep实现定时检测 227
5.6.7 WndProc Hook简易法 228
5.6.8 在壳中应用C++ 228
第6章 信息 232
6.1 如何获得用户的身份 232
6.2 什么样的信息是我们需要的 233
6.2.1 获取网卡的MAC地址 233
6.2.2 获取CPU的信息 235
6.2.3 获取硬盘序列号信息 240
6.3 密码学应用 251
6.3.1 密码学的定义 252
6.3.2 密码学的分类 252
6.3.3 常用密码算法介绍 254
6.3.4 密码学的应用 260
6.3.5 密码学的局限性 261
6.4 网络认证 261
第7章 调试 268
7.1 调试工具介绍 268
7.1.1 NuMega公司的SoftICE调试器 268
7.1.2 WinDbg简介 278
7.1.3 国产调试器TRW 294
7.1.4 用户级调试器OllyDebugger 298
7.2 静态分析与反静态分析 305
7.2.1 识别文件信息 306
7.2.2 带有反汇编功能的二进制编辑器 306
7.2.3 反汇编工具 307
7.2.4 花指令 311
7.3 反跟踪 318
7.3.1 调试器检测 318
7.3.2 CC断点的检测、补丁系统动态厍 328
7.3.3 API变址调用 329
7.3.4 让SoftICE崩溃的技术 332
7.3.5 Anti UI Debugger 332
7.3.6 Anti Spy++ 333
7.3.7 结构化异常 335
7.4 反补丁 342
7.5 反脱壳 343
7.5.1 一次性代码 343
7.5.2 核内壳 345
7.5.3 代码块动态加解密 348
7.5.4 API重定向 350
7.5.5 APIRedir 351
7.5.6 AdvAPIHook 355
7.5.7 Anti冲击波2000 355
7.6 反加载 356
7.7.1 Debug-API的使用 357
7.7 Win32 Debug-API 357
7.7.2 Debug-API的应用 364
7.8 Monitor监视技术 371
7.8.1 监视技术简介 371
7.8.2 市面常见的监视工具简介 371
第8章 技巧 378
8.1 时间控制的技巧 378
8.2 带有迷惑性的代码 383
8.2.1 分身的字符串 384
8.2.2 捕捉解密者的陷阱 385
8.2.3 虚假的错误信息 386
8.2.4 验证的时机 386
8.3 逻辑的迷宫 387
8.4 消息接口DLL 390
8.5 类加密 394
8.5.1 基类加密 394
8.5.2 简单数据类型加密 396
8.6 用消息隐藏程序的流程 398
第9章 加密锁 401
9.1 加密锁简介 401
9.2 加密锁的历史 403
9.2.1 第一代逻辑电路加密锁 403
9.2.2 第二代存储器加密锁 404
9.2.3 第三代逻辑电路加存储器加密锁 404
9.2.5 第五代智能卡加密锁 405
9.2.4 第四代可编程加密锁 405
9.3 加密锁的攻防战 406
9.4 不可解密的加密锁——智能卡带来的革命 408
9.4.1 智能卡简介 408
9.4.2 智能卡为什么可以应用于加密 409
9.4.3 采用智能卡技术的加密锁所带来的技术进步 411
9.4.4 现有的几种智能卡加密锁 412
9.5 加密锁使用的技巧 418
9.5.1 怎样用可编程加密锁加密 418
9.5.2 怎样用智能卡加密锁加密 422
9.5.3 怎样用ROCKEY5虚拟加密锁进行程序模拟保护 430
9.5.4 不良的加密锁加密方案举例及应对方法 431
参考文献 442