微信扫一扫,移动浏览光盘
简介
软件保护工作是维护软件开发人员利益的必要手段,是软件开发过程中的重要环节。本书讲述Windows环境下的软件保护技术及相关解决方案。全书共分为3个部分。第一部分介绍与软件保护技术相关的基础知识。第二部分讲述各种软件保护方式,如序列号、时间限制、CRC、SMC及各种加密算法,并且还介绍了注册表、VB保护程序的特点。第三部分主要介绍脱壳的基本技巧,以及一些大型商业软件保护的实例。
本书是国内密界一流好手的呕心之作,通过解析大量的实例来展示软件调试的最深处,是软件开发人员不可多得的读物。
目录
第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 与本书相关的网络资源
参考资料
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 与本书相关的网络资源
参考资料
加密与解密:软件保护技术及完全解决方案
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!