ICode9

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

ximo脱壳教程5:手脱PECompact2.X的壳

2022-02-25 20:31:29  阅读:255  来源: 互联网

标签:ximo F9 mov ds PECompact2 手脱 dword edx ptr


PECompact 2.x -> Jeremy Collake

1。单步

2。ESP定律

3。BP VirtualFree

SHIFT+F9,取消断点

ALT+F9

查找 push 8000(特征码)

运行到这

单步跟

4。BP VirtualFree

两次SHIFT+F9

中断后取消断点,Alt+F9返回
单步走。

5.0040A86D > B8 74DE4500 mov eax,qqspirit.0045DE74

bp 0045de74

045DE74 B8 F9CB45F0 mov eax,F045CBF9
0045DE79 8D88 9E120010 lea ecx,dword ptr ds:[eax+1000129E]
0045DE7F 8941 01 mov dword ptr ds:[ecx+1],eax
0045DE82 8B5424 04 mov edx,dword ptr ss:[esp+4]
0045DE86 8B52 0C mov edx,dword ptr ds:[edx+C]
0045DE89 C602 E9 mov byte ptr ds:[edx],0E9
0045DE8C 83C2 05 add edx,5
0045DE8F 2BCA sub ecx,edx
0045DE91 894A FC mov dword ptr ds:[edx-4],ecx
0045DE94 33C0 xor eax,eax
0045DE96 C3 retn
0045DE97 B8 78563412 mov eax,12345678//下断

6。bp VirtualAlloc SHIFT+F9运行

取消断点

ALT+F9

向下拉,看到JMP。运行到这

7.最后一次异常法;

取消所有异常。

2次跑飞。

找SE句柄

转到SE xxxx处

045DE74 B8 F9CB45F0 mov eax,F045CBF9
0045DE79 8D88 9E120010 lea ecx,dword ptr ds:[eax+1000129E]
0045DE7F 8941 01 mov dword ptr ds:[ecx+1],eax
0045DE82 8B5424 04 mov edx,dword ptr ss:[esp+4]
0045DE86 8B52 0C mov edx,dword ptr ds:[edx+C]
0045DE89 C602 E9 mov byte ptr ds:[edx],0E9
0045DE8C 83C2 05 add edx,5
0045DE8F 2BCA sub ecx,edx
0045DE91 894A FC mov dword ptr ds:[edx-4],ecx
0045DE94 33C0 xor eax,eax
0045DE96 C3 retn
0045DE97 B8 78563412 mov eax,12345678//下断

8。两次内存

9。at GetVersion

这里就不介绍单步和esp定律法了,方法和之前都一样,这里着重介绍一些之前没有使用过的

一、Bp VirtualFree法

在命令行command中输入BP VirtualFree

 

 

 

 然后按shift+F9

 

 

 到这里之后,取消断点,然后按Alt+F9

 

 

 之后右键查找命令push 8000

 

 

 之后单步就可以跟到OEP了

二、BP VirtualFree2

 步骤和上面类似,知识命令行输入BP VirtualFree后连续两次SHIFT+F9,

中断后取消断点,Alt+F9返回
单步走,就可以了

三、bp 0045DE74

 

 这里第一条指令里有一个地址0x0045DE74,我们直接在Command中输入bp 0x0045DE74

然后SHIFT+F9

 

 到这里之后,我们将断点设到retn的下一条指令

 

 然后一直单步跟,就可以找到OEP

四、bp VirtualAlloc

在command中输入bp VirtualAlloc,

然后shift+F9

 

 取消断点,Alt+F9,

 

 然后拉到下面,找到JMP,运行到此,然后向下跟就可以到达

五、最后一次异常法

先打开调试异常选项,将所有的选项取消勾选

 

 然后多次shift+F9

六、两次内存镜像法

步骤前面和之前一样,在第二次下断运行之后

 

 将断点设到retn的下一句然后一直单步就可以了

七、at GetVersion法

在command中输入at GetVersion

然后回车运行

 

 在retn处下断,运行到retn处,单步

 

 向上拉就可以看到OEP

标签:ximo,F9,mov,ds,PECompact2,手脱,dword,edx,ptr
来源: https://www.cnblogs.com/polang19/p/15937672.html

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

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

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

ICode9版权所有