第十三章软件反跟踪技术
软件反跟踪技术
软件分析技术概述
加密反跟踪技术
跟踪技术
反跟踪技术
执行程序结构
静态跟踪、防静态分析、反防静态分析
软件反跟踪技术
动态跟踪、防动态跟踪
破坏debug的基本方法
主动检测跟踪法
代码加密法
其他防跟踪方法
小结
软件防跟踪编程技巧
反跟踪程序例子
常用工具介绍
软件分析技术概述
在进行软件的破解、解密以及计算机病毒分析工作中,一个首要的问题是对软件及病毒进行分析。
这些软件都是机器代码程序,对于它们分析必须使用静态或动态调试工具,分析跟踪其汇编代码。
软件分析技术概述
从软件使用说明和操作中分析软件
欲破解软件,首先应该先使用该软件,了解一下功能是否有限制,最好阅读一下软件的说明或手册,特别是自己所关心的关键部分的使用说明,这样也许能够找点线索。
静态反汇编
所谓静态分析即从反汇编出来的程序清单上分析。
大多数软件在设计时,都采用了人机对话方式,所以提示信息入手进行分析。
crack时常用的静态分析工具是W32DASM和HIEW等。
软件分析技术概述
动态跟踪分析
虽然从静态上可以了解程序的思路,但是并不可能真正了解地了解软件的细节,如静态分析找不出线索,就要动态分析程序
另外,碰到压缩程序,静态分析就无能为力了,只能动态分析了
所谓动态分析是利用SOFTICE或TRW2000一步一步地单步执行软件。
软件分析技术概述
为什么需要动态跟踪分析?
许多软件在整体上完成的功能,一般要分解成若干模块来完成,而且后一模块在执行时,往往需要使用其前一模块处理的结果,这一结果我们把它叫中间结果。如果我们只对软件本身进行静态地分析,一般是很难分析出这些中间结果的。
有许多软件在运行时,其最初执行的一段程序往往需要对该软件的后面各个模块进行一些初始始化工作,而没有依赖系统的重定位。
有许多加密程序为了阻止非法跟踪和阅读,对执行代码的大部分内容进行了加密变换,而只有很短的一段程序是明文。加密程序运行时,采用了逐块解密,逐块执行和方法
软件分析技术概述
如何进行动态跟踪分析?
对软件进行粗跟踪
所谓粗跟踪,即在跟踪时要大块大块地跟踪,也就是说每次遇到调用CALL指令、重复操作指令REP,循环操作LOOP指令以及中断调用INT指令等,一般不要跟踪进去,而是根据执行结果分析该段程序的功能。
对关键部分进行细跟踪
对软件进行了一定程度的粗跟踪之后,便可以获取软件中我们所关心的模块或程序段,这样就可以针对性地对该模块进行具体而详细地跟踪分析。
一般情况下,对关键代码的跟踪可能要反复进行若干次才能读懂该程序,每次要把比较关键的中间结果或指令地址记录下来,这样会对下一次分析有很大的帮助。
加密反跟踪技术
跟踪技术
DOS中的动态跟踪调试软件DEBUG
单步中断和断点中断
通过对单步中断和断点中断的合理组合,可以产生强大的动态调试跟踪功能,这就对磁盘加密技术造成了巨大的威慑,所以破坏单步中断和断点中断,在反跟踪技术中就显得十分必要,成为反跟踪技术中的"必修课"。
第十三章 软件反跟踪技术 来自淘豆网www.taodocs.com转载请标明出处.