破解基础篇二

暂停法的使用

1、在查找字符串的时候,经常会遇到字符串被加密的情况。因此,我们这用到暂停法。暂停法的一般步骤:

出现提示

点击暂停

显示关键调用

修改破解

2、首先载入程序,查找字符串发现无法找到有用的字符串

3、这时我们使用暂停法,重新载入,把程序运行起来。输入任意信息点击按钮,此时出现提示。

4、ctrl+k查看调用情况,发现有messagebox被调用,右击查看调用

5、观察代码发现,该call以上(到retn为止)并没有能够跳过该指令的关键跳转,因此判断这个call并不是顺序执行的,而是外部程序所调用的call。我们在这下断

6、重新载入后运行,停在断点的位置。单步后不断查看上方程序能否跳过对应代码,知道如下图所示,我们找到了对应能跳过的位置:

7、我们在对应位置下断点,同时也在关键call处下断点重新载入运行

8、此时我们发现,断在了关键call位置,这时在堆栈窗口发现可疑的字符串,事实上这是注册信息。在此我们不多做解释。

9、单步继续进行,在不改变代码的情况下,我们发现会出现错误弹窗。因此确定该位置是关键跳转。

10、修改语句,这里可以用nop填充,也可以改jnz为jz,继续单步发现达到预期效果。

11、修改保存文件。

12、补充说明:在修改某些程序版权信息和软件信息的时候,有的程序会产生自校验的问题,这时也可用暂停法处理这类问题,由于内容和以上所讲差异不大,因此在这忽略。

由于五一放假,本周的破解基础篇博客写的比较少。下次补上!!

本次博客所用到的实例程序链接:

链接:http://pan.baidu.com/s/1c2dmLFE 密码:eey5

posted @ 2016-05-03 22:29  miaohj  阅读(343)  评论(1编辑  收藏  举报