脱壳之二-实践

来源:互联网 发布:matlab 矩阵元素运算 编辑:程序博客网 时间:2024/05/29 15:20

脱壳之二-实践

 

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

 

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

 

 

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

 

4,f8一路向下执行

 

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

 

 

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

 

 

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

 

 

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

 

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

 

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

 

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

 

 

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

 

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

 

 

 

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

 

 

15,查找真正的注册码。

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

 

 

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

 

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

 

 

原创粉丝点击