加密与解密实战入门 PDF 下载
本书以计算机软件加密与解密技术为主要内容,讲解了加解密技术入门需要掌握的知识和工具。全书共分为9章。前7章主要讲述了解密的入门技术,包括基础知识、静态反汇编、动态调试、辅助工具、不同注册保护方式的分析、安装包程序,以及不同编程语言的加解密工具及使用方法,并以通用的解密过程“查、脱壳一静态分析一动态调试”的顺序来进行章节的安排,使得读者有一个较完整的思路并可以轻松上于。最后两章则讲述加密的入门技术,包括基本的软件保护措施及实现和软件保护实践,常用到的软件保护技术,以及完整的源代码和保护方案,要求读者有一定的编程基础。
本书包含了加解密技术基础中常用到的一些知识和工具,并通过实例来进行讲解说明,既适合对加解密技术感兴趣的初学者使用,也适合作为软件开发人员在软件设计过程中的参考用书。
作者介绍:
本书的主创人员:郑羽(主编,编写15万字)、杨春生(副主编,编写5万字)、于江(副主编,编写5万字)、刘艳霞(编委,编写11万字)、李育生(编委,编写11万字)、肖见梅(编委,编写2万字)。同时参加编写的人员还有:苑忠平(山东日照五莲县汪湖小学)、黄伟(顺德北滘中心小学):杨立广(河北高碑店二中)、罗和平(顺德中等专业学校)、孔志明(南海区里水镇旗峰小学)、胡永兵(江都市宜陵小学)、叶福财(安徽新华学校)、任永跃(徐州经济开发区大黄山小学)、苏蕴斌(河北灵寿县陈庄中学)。
写在前面:
前言
在实际生活中,商用软件或者共享软件都必须通过购买或者注册才能够使用,无论软件公司还是个人软件作者都会在程序中加入各种各样的保护机制,用来保护程序不被非法使用或者保护程序的关键技术。这些已经有了很成功的例子。但目前仍然有部分软件开发人员(尤其是个人作者)由于对加、解密技术并不了解,使得自己摸索出的看上去坚不可摧的保护方案在短短的时间内被攻破。俗话说“知彼知己,百战不殆”,作为软件开发人员应该掌握一定的加、解密技术才能更好、更有针对性地加上恰当的保护方案来保护程序。
没有加密技术,解密技术也没有存在的必要:没有解密技术,加密技术也不会发展。加密技术与解密技术就是矛盾的双方,在一次次的对垒比拼中相互发展、不断促进,使双方都达到了新的高度,也使得加解密技术成为软件技术的一个很重要的分支。由于和其他计算机技术结合紧密,所以加、解密技术涵盖的范围也是非常广泛的,需要系统地进行学习掌握。
本书主要内容
全书共分为9章,前7章主要讲述入门的解密技术,最后2章则讲述入门的加密技术,基本上包含了加解密技术基础中常用到的一些内容。希望通过这些内容的讲解,能够使初学者打下一个通往更高层次所需要的基础。
在第1~7章解密技术方面的内容安排上,本书以通用的解密过程“查、脱壳→静态分析→动态调试”的顺序来进行章节的安排,并对解密过程中用到的辅助工具及针对不同的编程语言编写的程序的具体解密方法进行了介绍,其实初学解密技术主要就是要掌握常见工具的使用技巧。第1章主要介绍了壳的概念、加壳、查壳和自动脱壳方面的内容,并对解密过程中用到的汇编语言方面的内容做了一个入门的介绍:第2章讲述了解密静态分析时用到的工具及使用方法,主要是W32Dasm和C32asm工具的应用;第3章是本书的重点之一,用许多实例介绍了目前最流行的调试工具Ollydbg的使用方法和调试过程,并讲到了注册机的制作:第4章分别介绍了解密过程中常用到的编辑工具、监视工具、资源工具和补丁工具等辅助工具及使用方法:第5章则针对最基本的注册码方式、按钮功能限制、NAG窗口和加密狗等注册方式解密进行了简单的介绍;第6章总结了目前常用到的软件安装包的修改方法和解压方法,对于安装包加密的程序比较有效:第7章是本书的另外一个重点,详细讲述了目前流行的9种编程语言编写出的程序的解密工具和对应的解密方法,从中可以了解在处理不同编程语言程序时的常用到的一些解密思路。
第8和第9章讲述了基本的软件保护措施及具体实践过程,需要读者具有一定的编程基础,最好有DelPhi编程基础。这两章主要讲述了软件保护实践中的几种常见保护技术,包括:对抗静态分析和动态调试工具、使用加壳程序、加密狗、网络验证、加密算法等加密技术来保护软件,并配合Delphi+内联汇编进行了范例代码的编写,对于软件开发人员有一定的帮助。各章节示范代码完整工程文件见下载文件,这些范例都是作者实际实验通过验证的,可以直接使用在自己的程序保护中。
致谢
本书能够出版,首先要感谢电子工业出版社博文视点资讯有限公司给予的机会!还要感谢编辑郭立老师和毕宁老师在编写过程中所做的大量工作,并在本书编写过程中提供了宝贵意见和支持!感谢网上的众多高手无私地将自己的技术分享出来!并感谢在学习过程中帮助过作者的网友们!
目录:
第1章 基础知识.
1.1 壳的概念、作用和分类
1.2 常见的加壳软件和使用方法
1.2.1 upx
1.2.2 aspack
1.2.3 armadillo
1.2.4 encryptpe
1.3 使用壳的sdk保护程序
1.4 查壳软件及使用方法
1.4.1 fileinfo
1.4.2 pe identifier
1.5 脱壳软件及使用方法
1.5.1 通用脱壳软件及使用方法
1.5.2 专用脱壳软件及使用方法
1.6 汇编语言基础知识
1.6.1 汇编语言基本概念
1.6.2 常用的汇编语言语句
1.7 字符编码方式
1.8 软件解密方式及注册保护方式
1.8.1 软件解密方式
.1.8.2 软件注册保护方式
第2章 静态反汇编
2.1 常用反汇编工具介绍
2.2 反汇编程序代码简介
2.2.1 程序的基本信息
2.2.2 程序的反汇编源代码
2.2.3 源代码各部分的含义
2.3 反汇编工具的功能简介
2.3.1 w32dasm的功能简介
2.3.2 c32asm功能简介
2.4 静态分析解密实例
2.4.1 静态分析解密的一般过程
2.4.2 静态分析解密实例1
2.4.3 常见指令的机器码值
2.4.4 两种注册判断的修改方法
2.4.5 静态分析解密实例2
2.5 利用keymake做补丁程序
2.5.1 制作文件补丁程序
2.5.2 制作内存补丁程序
第3章 动态调试
3.1 常用调试工具的简单介绍
3.2 ollydbg功能简介
3.2.1 ollydbg主界面简介
3.2.2 配置ollydbg
3.2.3 ollydbg的常用功能及操作
3.2.4 常用的ollydbg插件
3.3 ollydbg动态调试解密实例
3.3.1 动态调试解密的一般过程
3.3.2 动态调试实例1
3.3.3 动态调试实例2
3.4 用keymake制作内存注册机
3.5 用ollydbg手动脱壳
3.5.1 手动脱壳的步骤
3.5.2 辅助工具简介
3.5.3 ollydbg手动脱upx壳实例
3.6 softice安装及功能简介
3.6.1 softice的安装配置过程
3.6.2 softice常用功能及操作
3.6.3 softice调试实例
3.7 trw2000功能简介
第4章 辅助工具
4.1 编辑工具
4.1.1 16进制编辑工具winhex
4.1.2 汇编编辑工具rta
4.2 监视工具
4.2.1 文件监视工具
4.2.2 注册表监视工具
4.2.3 api监视工具
4.2.4 mfc监视工具mfcspy
4.3 资源工具
4.3.1 资源修复工具
4.3.2 常用资源编辑工具
4.3.3 restools系列资源工具
4.4 补丁工具
4.4.1 dup的使用
4.4.2 xcell的使用..
第5章 不同注册保护方式的分析
5.1 简单的注册码保护方式
5.1.1 追踪简单算法实例
5.1.2 api函数常用断点及实例
5.2 按钮功能限制
5.2.1 按钮限制解密实例1
5.2.2 按钮限制解密实例2
5.3 nag窗口
5.3.1 nag窗口实例1
5.3.2 nag窗口实例2
5.4 加密狗
5.4.1 判断加密狗类型
5.4.2 加密狗解密实例1
5.4.3 加密狗解密实例2
第6章 安装包程序
6.1 installshield
6.1.1 获取安装序列号
6.1.2 setup.ins(inx)安装脚本的解密
6.1.3 编辑cab压缩包
6.2 wise
6.3 setup factory
6.3.1 解压缩安装包
6.3.2 动态调试安装序列号
6.3.3 静态分析安装序列号
6.4 innosetup
6.5 微软msi
第7章 不同编程语言的加解密工具及使用方法
7.1 delphi程序
7.2 vb本机代码程序
7.2.1 vb程序的编译方式
7.2.2 vb反编译工具vbexplorer
7.2.3 vb动态调试工具smartcheck
7.3 vbp-代码程序
7.3.1 p-代码反编译工具
7.3.2 p-代码调试工具
7.3.3 wktvbde解密实例
7.4 vba程序
7.4.1 vba常用工具简介
7.4.2 vba程序解密实例
7.5 vfp程序
7.5.1 vfp加密工具
7.5.2 vfp解密工具
7.5.3 vfp反编译工具
7.5.4 vfp解密实例1
7.5.5 vfp解密实例2
7.6 pb程序
7.6.1 pb反编译工具
7.6.2 pb解密实例
7.7 asp程序
7.7.1 asp程序的加密
7.7.2 asp程序解密实例1
7.7.3 asp程序解密实例2
7.7.4 asp程序解密实例3
7.8 易语言程序
7.9 其他语言程序
7.9.1 java
7.9.2 .net
第8章 基本的软件保护措施及实现
8.1 获取硬件信息
8.2 对抗破解的基本手段
8.2.1 对抗dede
8.2.2 对抗动态调试
8.2.3 对抗softice
8.2.4 对抗静态分析
8.2.5 磁盘文件自校验
8.3 使用壳程序来保护
8.3.1 压缩壳(packer)的应用
8.3.2 保护壳(protector)的应用
8.4 vmhotect的应用
8.4.1 vmprotect简介
8.4.2 利用vmprotect保护程序
8.5 利用伪装壳制造虚假信息
8.6 应用加密锁来保护程序
8.6.1 应用rockey2的技巧
8.6.2 加密锁应用建议
8.7 一些加密时有用的代码
8.8 一点建议
第9章 软件保护实践
9.1 把asp编写成dll
9.2 com组件的delphi实现
9.3 给程序加入网络验证机制
9.4 非明码比较在程序中的应用
9.5 实现软件注册保护的vcl组件简介
9.6 关于pe文件结构的简单理解
9.6.1 检测pe文件格式
9.6.2 pe文件入口点和section的理解
9.6.3 伪装壳原理的简单分析
9.6.4 模拟peid的查壳功能
参考文献
资源:638.rar
解压密码:www.dayanzai.me
转载请保留出处,谢谢合作~
点击下载
点击下载(提取码:dhw7)
点击下载
点击下载(提取码:t7rx)