软件保护是维护软件开发人员利益的主要手段,是软件开发过程中的重要环节。为了跟上技术发展的步伐,本书在第一版的基础上,更新了第一版中的过时内容,补充了许多新技术。本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。本书共分三个部分。第一部分介绍与加密和解密技术相关的基础知识。第二部分全面讲述各种最新的软件加密与解密技术及方法,如静态分析技术,动态分析技术,序列号,警告窗口,时间限制,加密算法MD5、SHA、RSA、EIGamal等。第三部分主要介绍PE文件的知识,如增加文件功能、加壳与脱壳、补丁技术等。
本书是密界一流高手的呕心之作,通过解析大量实例来展现软件加密与解密的最深处,是软件开发人员不可多得的一本专业参考书。
本书适合以下读者:
对软件加密与解密感兴趣的读者
对软件保护感兴趣的软件开发人员
对逆向工程感兴趣的读者
对调试技术感兴趣的读者
使用本书需要具备以下知识。
汇编基础知识。此类书籍市面上很多,如《IBMPC汇编语言程序设计》等。
应了解C语言。了解C语言的某些知识是有帮助的,但不是必须了解。
Win32编程。不管研究加密与解密,还是编程,都必须了解Win32编程。Win32编程就是API方式的Windows程序设计,学习WindowsAPI能使您更深入地了解Windows工作方式。此类书籍有CharlesPetzold所著的《Windows程序设计》,该书堪称经典之作,它以C语言为讲解平台。另一本书是罗云彬所编著的《Windows环境下32位汇编语言程序设计》,它以Win32汇编为讲解平台。
到此为止,作者将不再假设您已经具有任何加解密的经验了。
关于配套光盘:
本书所有实例及源码均在配套光盘里提供,大部分实例是使用MicrosoftVisualC++6.0开发和测试的。
由于版权问题,配套光盘仅提供书中提到的免费软件或共享软件。如果从学习角度需要使用那些有版权的软件,建议用搜索引擎查找(如www.google.com)。
光盘提供的软件经过多方面检查测试,绝无病毒。但一些加解密工具采用了某些病毒技术,因此部分代码与某些病毒的特征码类似,会造成查毒软件的误报。
请勿将光盘的文件做成虚拟光驱,并跟踪调试虚拟光驱上的实例,以免出现一些无法解释的错误。建议将文件拷贝到硬盘,并去除只读属性再调试。
......(更多)
......(更多)
第一章 基础知识
第二章 代码分析技术
第三章 静态分析技术
第四章 动态分析技术
第五章 软件保护技术及其弱点
第六章 加密算法
第七章 反编译语言
第八章 PE文件格式
第九章 增加PE文件功能
第十章 反跟踪技术
第十一章 加壳与脱壳
第十二章 补丁技术
第十三章 商用软件保护技术
......(更多)
"和这个程序不无关的东西并不映射到线性地址中"
......(更多)