脱壳之二-实践

脱壳之二-实践

 

1,首先检查现有程序是使用什么程序加壳的。从这里可以找到使用的是aspack 2.12

 

2,在od中打开需要脱壳的程序,忽略警告信息。在pushad和call之间很近,因此使用f7进行跟踪执行

脱壳之二-实践_第1张图片

 

 

3,在所有向上跳转的语句的下一行,点鼠标右键,使用F4下断点防止反跳

 

4,f8一路向下执行

脱壳之二-实践_第2张图片

 

5,执行到这里,看到push 0051cee就是典型的OEP了,当然0051eeco的地址是会变的。

脱壳之二-实践_第3张图片

 

 

6,继续F8执行,就进入了真正的程序中。

脱壳之二-实践_第4张图片

 

 

7,在这里点鼠标右键,选择OllyDump进行脱壳

脱壳之二-实践_第5张图片

 

 

8,点击鼠标右键,查找窗体中的字符串。

 

9,选择注册失败,并双击鼠标,进入到相应的程序代码处

脱壳之二-实践_第6张图片

 

10,从这一行开始向上查找,看是从哪里跳过来的

脱壳之二-实践_第7张图片

 

11,从这里可以看到是通过call 00404aa4跳下去的。这里便是进行注册验证的地方

脱壳之二-实践_第8张图片

 

 

12,在jnz一行上,点击鼠标右键选择二进制--》用nop填充。

 

13,填充完毕后,用户输入任意的注册码都能通过,这就是所谓的暴力破解。将所有的操作复制到文件中。

 

 

 

14,鼠标右键选择保存文件吧数据保存到硬盘中。双击可执行文件会发现程序已经破解。

脱壳之二-实践_第9张图片

 

 

15,查找真正的注册码。

在od中按F9执行应用程序,进行注册,输入任意注册码,这里是kkk,在寄存器窗口可以发现eax是kkk,edx中便是正确的注册码了。

 

 

 说明:以上只是说明应用程序脱壳、暴力破解、查找真正注册码的基本流程和方法,并不是鼓励大家做程序破解,请尊重程序开发人员的辛苦成果。

 

以上文章转自52pojie论坛,图片照搬,文字内容进行了重新的编辑。经过验证原作者的操作是可以重复的。

 

 

你可能感兴趣的:(破解,程序开发)