- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 软件保护技术 10.1 软件保护技术概述 10.2 静态分析技术 10.3 动态分析技术 10.4 常用软件保护技术 10.5 软件加壳与脱壳 10.6 设计软件的一般性建议 10.1 软件保护技术概述 软件保护技术是软件开发者用来维护软件版权,增加其盗版的难度,或延长软件破解的时间,尽可能防止软件被非法使用所采用的方法。 10.1 软件保护技术概述 软件保护技术与软件盗版之间是矛和盾的关系。 软件盗版通常所采用的方法: 静态分析技术 动态分析技术 10.2 静态分析技术 静态分析是从反汇编出来的程序清单上分析程序流程,从提示信息入手,了解软件中各模块的功能、各模块之间的关系及编程思路。 通过对程序的静态分析,是软件破解的一个手段,也是软件保护的必要方法。 10.2.1 静态分析技术的一般流程 步骤1:运行程序,查看该软件运行时的限制或出错信息。 如:试用时间的限制、试用次数的限制等。 步骤2:查看软件是否加壳。 如果该程序使用加壳保护,则在进行静态分析前必须进行脱壳的处理,否则无法进行对该软件的静态反汇编操作或反汇编出来的结果不正确。 步骤3:静态分析软件。 利用静态反汇编工具(如W32Dasm、C32asm等)进行反汇编,然后根据软件的限制或出错信息找到对应的代码位置,还要找到该软件的Call和跳转等关键代码,这些对是否成功破解与保护软件起到关键作用。 10.2.1 静态分析技术的一般流程 步骤4:修改程序。 根据找到的关键代码,使用十六进制编辑器修改这些关键位置的机器码或汇编代码。 步骤5:制作补丁程序。 找到软件的相关使用漏洞后,就可以根据这些漏洞信息来制作保护软件的补丁程序。 10.2.2文件类型分析 常用的文件分析工具有PEiD、DIE和FileInfo等。 10.2.2 W32DASM简介 W32Dasm针对现在流行的可执行程序进行反编译,即把可执行的文件反编译成汇编语言,以便于分析程序的结构和流程。 10.2.2 W32DASM简介 主要功能: 1.加载文件; 2.转到程序入口点 3.转到代码开始; 4.转到页; 5.转到代码位置 6.执行文本跳转; 7.执行调用; 10.3 动态分析技术 动态分析是利用调试器(如OllyDbg),通过调试程序、设置断点、控制调试程序的执行过程来发现问题。 常见的调试器 SoftICE OllyDbg(简称OD) RW2000 软件注册破解实例 所用工具: PeiD v0.92AspackDie v1.41OllyDbg v1.10W32dasm KeyMake v1.73 软件注册破解实例 Step 1: 检测壳 软件注册破解实例 Step 2: 脱壳 软件注册破解实例 Step 3: 运行程序、尝试注册、获取注册相关信息 软件注册破解实例 Step 4: 反汇编 用W32dasm对ZnUn.exe进行反汇编。然后在W32dasm提供的参考字符串里寻找刚才那句关键的话: 软件注册破解实例 转到对应语句段 软件注册破解实例 Step 5: 调试 找到刚才的地址004DF869 , 下断点。 软件注册破解实例 当运行至断点时,程序暂停,用F8键来单步执行程序,并注意观察下面的信息框。 软件注册破解实例 继续运行。 软件注册破解实例 Step 6:制作注册机 其中指令长度是指令机器码所占的字节数,下面选择用到的寄存器EDX 软件注册破解实例 10.4 常用软件保护技术 序列号方式 警告(NAG)窗口 功能限制的程序 时间限制 注册保护 10.4.1 序列号方式 1、序列号保护机制 构造多元的算法: 特定值 = F(用户名1,用户名2,...序列号1,序列号2...) 10.4.1序列号方式 现有构造算法的举例: (1)在软件程序中有一段加密过的密文S;(2)密钥 = F(用户名、序列号),用上面的二元算法得到密钥;(3)明文D = F-DES(密文S、密钥),用得到的密钥来解密密文得到明文D;(4)CRC = F-CRC(明文D),对得到的明文应用各种CRC统计;(5)检查CRC是否正确。最好多设计几种CRC算法,检查多个CRC结果是否都正确。 10.4.1序列号方式 2、攻击序列号保护 数据约束性的秘诀 S命令 利用消息断点 10.4.2 警告(NAG)窗口 Nag窗口是软件设计者用来不时提醒用户购买正式版本的窗口。 它会在程序启动或退出时弹出来,或者在软件运行的某个时刻随机或定时地弹出来。 去除警告窗口方法: 修改程序的资源 静态分析 动态分析。 10.4.3功能限制的程序 菜单
文档评论(0)