1、第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 1第 11章 软件保护技术11.1 软件保护技术概述11.2 静态分析技术11.3 动态分析技术11.4 常用软件保护技术11.5 软件加壳与脱壳11.6 设计软件的一般性建议 第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 211.1 软件保护技术概述软件保护技术是软件开发者寻找各种有效方法和技术来维护软件版权,增加其盗版的难度,或延长软件破解的时间,尽可能防止软件被非法使用 。 从理论上说,几乎没有破解不了的软件。所以对软件的保护仅仅靠技术是不够的,最终要靠国家法制的完善、人们的知识产权保护意识
2、的提高。第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 311.2 静态分析技术静态分析是从反汇编出来的程序清单上分析程序流程,从提示信息入手,了解软件中各模块的功能,各模块之间的关系及编程思路。从而根据自己的需要完善、修改程序的功能。对于破解者来说,通过对程序的静态分析,了解软件保护的方法,也是软件破解的一个必要的手段。软件密码破解示例: VC+程序 VB程序第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 411.2.1 文件类型分析对软件进行静态分析时首先要了解和分析程序的类型,了解程序是用什么语言编写的,或用什么编译器编译的,程序是否有加壳
3、保护。 常用的文件类型分析工具有 Language 2000、 File Scanner、 FileInfo、 PEiD等。FileInfo运行时是 DOS界面,支持 Windows长文件名,语法:fi fi /r 或 /s:列出当前目录和子目录所有的文件信息fi /f :仅列出能识别的文件第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 5用 PEiD软件对 Winword.exe文件的分析结果如下图所示。第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 611.2.2 W32DasmW32Dasm针对现在流行的可执行程序进行反编译,即把可执行的文
4、件反编译成汇编语言,以便于分析程序的结构和流程。W32Dasm不需要安装,只要直接执行W32Dasm.exe文件。简单介绍 W32Dasm功能和使用方法。第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 71加载文件。2转程序入口点。3转到代码开始。4转到页。5转到代码位置。6执行文本跳转。7执行调用。8输入函数。9输出函数。10菜单参考。11对话框参考。12串式数据参考。 13复制汇编代码文本。14装载 32位的汇编代码动态调试。15单步跟踪程序。16设置激活断点。17保存反汇编文本文件。第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 811.2
5、.3 IDA Pro简介IDA相对于 W32Dasm来说功能更强大、操作比较复杂。 使用 IDA需要注册费用,而 W32Dasm是免费的。当分析一个简单的程序时,使用 W32Dasm更为方便。IDA能够分析加壳的程序,并以多种文件形式保存等。目前 IDA Pro最高版本为 IDA Pro 4.6, 支持 64位处理器,具有更强大的功能。 第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 911.2.4 可执行文件代码编辑工具W32Dasm和 IDA适合分析文件。若要对文件进行编辑、修改,可以使用专门的十六进制编辑工具。如 Hiew, HexWorkshop, WinHex, U1traEdit等。Hiew的界面简单、使用方便,它可以对应用程序进行反汇编,同时支持对可执行文件的十六进制代码和汇编语言代码修改。 简单介绍 Hiew的使用。 第 11章 软件保护技术为中华之崛起而读书计算机工程学院计算机工程学院 1011.2.5 可执行文件资源编辑工具Windows应用程序的各种操作界面称为资源,包括加速键、位图、光标、对话框、图标、菜单、工具栏、版本信息等。资源也是一种数据,它们一般被存储在 PE文件的 .rsrc块中,不能通过由程序源代码定义的变量直接访问, Windows提供的函数直接或间接地把它们加载到内存中以备使用。