- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三章软件反跟踪技术软件反跟踪技术软件分析技术概述加密反跟踪技术跟踪技术反跟踪技术执行程序结构静态跟踪防静态分析反防静态分析软件反跟踪技术动态跟踪防动态跟踪破坏的基本方法主动检测跟踪法代码加密法其他防跟踪方法小结软件防跟踪编程技巧反跟踪程序例子常用工具介绍软件分析技术概述在进行软件的破解解密以及计算机病毒分析工作中一个首要的问题是对软件及病毒进行分析这些软件都是机器代码程序对于它们分析必须使用静态或动态调试工具分析跟踪其汇编代码软件分析技术概述从软件使用说明和操作中分析软件欲破解软件首先应该先
第十三章 软件反跟踪技术 软件反跟踪技术 软件分析技术概述 加密反跟踪技术 跟踪技术 反跟踪技术 执行程序结构 静态跟踪、防静态分析、反防静态分析 软件反跟踪技术 动态跟踪、防动态跟踪 破坏debug的基本方法 主动检测跟踪法 代码加密法 其他防跟踪方法 小结 软件防跟踪编程技巧 反跟踪程序例子 常用工具介绍 软件分析技术概述 在进行软件的破解、解密以及计算机病毒分析工作中,一个首要的问题是对软件及病毒进行分析。 这些软件都是机器代码程序,对于它们分析必须使用静态或动态调试工具,分析跟踪其汇编代码。 软件分析技术概述 从软件使用说明和操作中分析软件 欲破解软件,首先应该先使用该软件,了解一下功能是否有限制,最好阅读一下软件的说明或手册,特别是自己所关心的关键部分的使用说明,这样也许能够找点线索。 静态反汇编 所谓静态分析即从反汇编出来的程序清单上分析。 大多数软件在设计时,都采用了人机对话方式,所以提示信息入手进行分析。 crack时常用的静态分析工具是W32DASM和HIEW等。 软件分析技术概述 动态跟踪分析 虽然从静态上可以了解程序的思路,但是并不可能真正了解地了解软件的细节,如静态分析找不出线索,就要动态分析程序 另外,碰到压缩程序,静态分析就无能为力了,只能动态分析了 所谓动态分析是利用SOFTICE或TRW2000一步一步地单步执行软件。 软件分析技术概述 为什么需要动态跟踪分析? 许多软件在整体上完成的功能,一般要分解成若干模块来完成,而且后一模块在执行时,往往需要使用其前一模块处理的结果,这一结果我们把它叫中间结果。如果我们只对软件本身进行静态地分析,一般是很难分析出这些中间结果的。 有许多软件在运行时,其最初执行的一段程序往往需要对该软件的后面各个模块进行一些初始始化工作,而没有依赖系统的重定位。 有许多加密程序为了阻止非法跟踪和阅读,对执行代码的大部分内容进行了加密变换,而只有很短的一段程序是明文。加密程序运行时,采用了逐块解密,逐块执行和方法 软件分析技术概述 如何进行动态跟踪分析? 对软件进行粗跟踪 所谓粗跟踪,即在跟踪时要大块大块地跟踪,也就是说每次遇到调用CALL指令、重复操作指令REP,循环操作LOOP指令以及中断调用INT指令等,一般不要跟踪进去,而是根据执行结果分析该段程序的功能。 对关键部分进行细跟踪 对软件进行了一定程度的粗跟踪之后,便可以获取软件中我们所关心的模块或程序段,这样就可以针对性地对该模块进行具体而详细地跟踪分析。 一般情况下,对关键代码的跟踪可能要反复进行若干次才能读懂该程序,每次要把比较关键的中间结果或指令地址记录下来,这样会对下一次分析有很大的帮助。 软件反跟踪技术 软件分析技术概述 加密反跟踪技术 跟踪技术 反跟踪技术 执行程序结构 静态跟踪、防静态分析、反防静态分析 加密反跟踪技术 跟踪技术 DOS中的动态跟踪调试软件DEBUG 单步中断和断点中断 通过对单步中断和断点中断的合理组合,可以产生强大的动态调试跟踪功能,这就对磁盘加密技术造成了巨大的威慑,所以破坏单步中断和断点中断,在反跟踪技术中就显得十分必要,成为反跟踪技术中的必修课。 反跟踪技术 作为反拷贝技术的保护者反跟踪技术是整个磁盘加密技术中最能显示技术水平的部分,如果它稍有漏洞就会影响到整个磁盘加密技术的可靠性。 反跟踪技术 一个有效的反跟踪技术应该具有3大特性: 重要程序段是不可跳越和修改的 PROLOK的解密过程是通过修改判读指纹的程序段来实现的,这其实是激光加密系统中反跟踪技术的一个败笔,一个有效的反跟踪技术应该对加密系统中的某些甚至全部程序段进行保护,如果这其中有内容被修改,将导致出错 主要方法有累计、累或和异或和程序段等方法 同时还要保证重要程序段一定要被执行,方法主要有加密程序分段加密,运行时逐层解密,逐层清除的方法,即只有运行了重要的程序段,才能将下一层程序代码从密码形式转换成明码形式 反跟踪技术 不通过加密系统的译码算法,密码不可破译: 为塑造一个封闭的加密系统,杜绝使用外调自编子程序甚至手工转换密码,规定只能由加密系统的译码程序来转换密码; 加密系统是不可动态跟踪执行的 动态跟踪是对加密系统的窥视,所以反跟踪技术应该绝对禁止对加密系统的动态跟踪。 软件反跟踪技术 软件分析技术概述 加密反跟踪技术 跟踪技术 反跟踪技术 执行程序结构 静态跟踪、防静态分析、反防静态分析 执行程序结构 在微机上主要可执行程序是COM格式与EXE格式。 COM文件结构是程序在一个段中,无堆栈,长度小于64k,在程序头预留100h字节,在偏移为100h处是可执行代码。 COM文件加载过程为: 在可用内存低端建立程序段前缀psp,长度100h Psp上方读入com文件 Pc
文档评论(0)