ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

通过查看堆栈_手工脱壳

2019-07-06 09:04:08  阅读:268  来源: 互联网

标签:files 混淆 脱壳 窗口 手工 程序 课件 堆栈


通常在软件的破解过程中,会遇到代码经过混淆器混淆的程序,此类混淆器可以称之为壳,壳又可分为压缩壳(常见的有UPX、北斗、ASDPack、Npack、PECompact等)和保护壳(如强壳Safengine、VMprotect、winlicense、Themida等),压缩壳作用是把程序进行体积缩小化处理,保护壳主要作用是混淆或加密代码防止他人进行逆向程序、破解程序。我们可以通过一些侦壳程序进行识别,但有些壳会采用伪装技术来混淆侦壳程序。

 

下面还是使用原来的课件,本次我们通过查看堆栈进行脱壳,先来下载以下这个课件把。

DIE查壳工具:https://files.cnblogs.com/files/LyShark/DiE_0.64.zip
课件内容:https://files.cnblogs.com/files/LyShark/ASPack.zip

 

1.直接开搞,将课件拖入OD,直接诶运行OD让程序跑起来。

 

2.观察堆栈窗口,找到下面的部分,SE处理程序。

 

3.堆栈窗口,向上找,到达这个段的断首位置。我们会看到几个标红的位置,全部记录下来。

 

4.逐个排除,这里有个小技巧,我们不要选择kernel32.xxx,user32.xxx 这种的,然后尽量选择地址靠后的。

0012FF14 |0047400A 返回到 ASPack.0047400A
0012FF24 |0046BBD1 返回到 ASPack.0046BBD1 来自 ASPack.00473FC3
0012FF38 |0045DCC5 返回到 ASPack.0045DCC5 来自 ASPack.0046BBBC
0012FF78 |76309B35 返回到 IMM32.76309B35 来自 kernel32.InterlockedDecrement
0012FF88 |76302B56 返回到 IMM32.76302B56 来自 IMM32.ImmUnlockClientImc

 

5.先看第一个,右键-> 反汇编窗口跟随。

 

6.然后在反汇编窗口中向上托,到断首,看是不是OEP,很明显这个不是。

 

7.这里直接看第三个把,节约篇幅跳过第二个了,第二个不是。

 

8.反汇编窗口,向上推,推到断首,看到了SE处理程序字样,没错,就是OEP。

 

9.下一步是,让其下次运行程序后,停在这个入口地指处,直接点击右键,数据窗口中跟随。

 

10.直接在数据窗口的开头出,下一个硬件执行断点。

 

11.重新载入程序,直接点击运行按钮,让程序跑起来,默认程序会断下,断在OEP的位置。

 

12.直接脱掉就好。

标签:files,混淆,脱壳,窗口,手工,程序,课件,堆栈
来源: https://www.cnblogs.com/LyShark/p/11141508.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有