欢迎来到天天文库
浏览记录
ID:39953306
大小:722.50 KB
页数:90页
时间:2019-07-15
《《软件保护技术》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11章软件保护技术11.1软件保护技术概述11.2静态分析技术11.3动态分析技术11.4常用软件保护技术11.5软件加壳与脱壳11.6设计软件的一般性建议11.1软件保护技术概述软件保护技术是软件开发者寻找各种有效方法和技术来维护软件版权,增加其盗版的难度,或延长软件破解的时间,尽可能防止软件被非法使用。从理论上说,几乎没有破解不了的软件。所以对软件的保护仅仅靠技术是不够的,最终要靠国家法制的完善、人们的知识产权保护意识的提高。11.2静态分析技术静态分析是从反汇编出来的程序清单上分析程序流程,从提示信息入手,了解软件中各模块的功能,各模
2、块之间的关系及编程思路。从而根据自己的需要完善、修改程序的功能。对于破解者来说,通过对程序的静态分析,了解软件保护的方法,也是软件破解的一个必要的手段。11.2.1文件类型分析对软件进行静态分析时首先要了解和分析程序的类型,了解程序是用什么语言编写的,或用什么编译器编译的,程序是否有加壳保护。常用的文件类型分析工具有Language2000、FileScanner、FileInfo、PEiD等。下面请看用PeiD软件对Winword.exe文件的分析结果。11.2.2W32DasmW32Dasm针对现在流行的可执行程序进行反编译,即把可执行的
3、文件反编译成汇编语言,以便于我们分析程序的结构和流程。W32Dasm不需要安装,只要直接执行W32Dasm.exe文件。下面简单介绍W32Dasm功能和使用方法。1.加载文件,请看教材和课堂演示。2.转到程序入口点,请看教材和课堂演示。3.转到代码开始,请看教材和课堂演示。4.转到页,请看教材和课堂演示。5.转到代码位置,请看教材和课堂演示。6.执行文本跳转,请看教材和课堂演示。7.执行调用,请看教材和课堂演示。8.输入函数,请看教材和课堂演示。9.输出函数,请看教材和课堂演示。10.菜单参考,请看教材和课堂演示。11.对话框参考,请看教材和
4、课堂演示。12.串式数据参考,请看教材和课堂演示。13.复制汇编代码文本,请看教材和课堂演示。14.装载32位的汇编代码动态调试,请看教材和课堂演示。15.单步跟踪程序,请看教材和课堂演示。16.设置激活断点,请看教材和课堂演示。17.保存反汇编文本文件,请看教材和课堂演示。11.2.3IDAPro简介IDA相对于W32Dasm来说功能更强大、操作比较复杂。使用IDA需要注册费用,而W32Dasm是免费的。当分析一个简单的程序时,使用W32Dasm更为方便。IDA能够分析加壳的程序,并以多种文件形式保存等。目前IDAPro最高版本为IDAPr
5、o4.6,支持64位处理器,具有更强大的功能。11.2.4可执行文件代码编辑工具W32Dasm和IDA适合分析文件。若要对文件进行编辑、修改,可以使用专门的十六进制编辑工具。如Hiew,HexWorkshop,WinHex,U1traEdit等。Hiew的界面简单、使用方便,它可以对应用程序进行反汇编,同时支持对可执行文件的十六进制代码和汇编语言代码修改。Hiew的使用见教材和课堂演示。11.2.5可执行文件资源编辑工具Windows应用程序的各种操作界面称为资源,包括加速键、位图、光标、对话框、图标、菜单、工具栏、版本信息等。资源也是一种数
6、据,它们一般被存储在PE文件的.rsrc块中,不能通过由程序源代码定义的变量直接访问,Windows提供的函数直接或间接地把它们加载到内存中以备使用。对于已打包后的exe,dll和ocx等文件可以通过资源修改工具ResourceHacker、eXeScope和ResScope等修改其资源,它们也是功能强大的汉化和调试辅助工具。一般资源修改工具具有如下功能:1.在已编译和反编译的格式下都可以查看Win32可执行文件和相关文件的资源)。2.提取和保存资源到文件(*.res)格式,作为二进制文件或作为反编译资源脚本或图像。3.修改和替换可执行文件的
7、资源。4.添加新的资源到可执行文件。5.删除资源。资源黑客(ResourceHacker)软件使用见教材和课堂演示。11.3动态分析技术用静态分析法可以了解编写程序的思路,但是有时并不可能真正地了解软件编写的整个细节和执行过程,在对软件静态分析无效的情况下就可以对程序进行动态分析了。动态分析就是通过调试程序、设置断点、控制被调试程序的执行过程来发现问题。对软件动态跟踪分析时可以分两步进行:1.对软件进行简要跟踪主要根据程序的顺序执行结果分析该段程序的功能,找到我们关心的模块或程序段。2.对关键部分进行细跟踪在获取软件中关键模块后,这样就可以针
8、对性地对该模块进行具体而详细地跟踪分析。要把比较关键的中间结果或指令地址记录下来,直到读懂该程序为止。动态分析技术使用的调试器可分为用户模式和内核模式两种类型。用户
此文档下载收益归作者所有