首页
社区
课程
招聘
[旧帖] [原创]新人找OEP,自创方法脱Yoda's Crypter,求转正 0.00雪花
发表于: 2013-6-6 03:16 1994

[旧帖] [原创]新人找OEP,自创方法脱Yoda's Crypter,求转正 0.00雪花

2013-6-6 03:16
1994
最新才喜欢上脱壳,于是跟着天草兄学着脱壳。
慢慢的,对于一些壳有了自己的思路,下面就说下自己脱yoda's cryptor 1.2

也许这个壳对于现在来说很老了,但是对于我这种新手来说能用自己的方法脱掉一个老壳也算对自己尝到的脱壳技术一次肯定吧。好了,废话不多说。

先来自己改进的最后一次异常法。
保留所有异常
OD载入
SHIFT+F9两次程序就跑飞了。

重载,按下SHIFT+F9

看堆栈“SE 句柄”前面的地址为程序领空地址40d70c

CTRL+G转到该地址,F2下断
SHIFT+F9运行
F2取消断点

F8走

0040D727    8BB8 A4000000   mov edi,dword ptr ds:[eax+A4]
0040D72D    C1C7 07         rol edi,7
0040D730    89B8 B8000000   mov dword ptr ds:[eax+B8],edi                 ; Yoda's_C.004010CC
0040D736    B8 00000000     mov eax,0
0040D73B    5F              pop edi
0040D73C    C9              leave
0040D73D    C3              retn

走到这里可以看到edi里面是4010CC

CTRL+G来到4010CC
F2下断,SHIFT+F9,F2取消,呵呵,来到OEP,脱壳我就是不讲了。。。

下面再提供一个自己改进的ESP方法

F8走一步,在数据窗口跟踪ESP,在数据窗口ESP值处下WORD硬件断点,SHIFT+F9运行,
取消硬件断点
F8继续走

0040D75D    50              push eax
0040D75E    33C0            xor eax,eax
0040D760    64:FF30         push dword ptr fs:[eax]
0040D763    64:8920         mov dword ptr fs:[eax],esp
0040D766    EB 01           jmp short Yoda's_C.0040D769
0040D768    8700            xchg dword ptr ds:[eax],eax
0040D76A    0000            add byte ptr ds:[eax],al
0040D76C    0000            add byte ptr ds:[eax],al
0040D76E    0000            add byte ptr ds:[eax],al
0040D770    0000            add byte ptr ds:[eax],al
0040D772    0000            add byte ptr ds:[eax],al
0040D774    0000            add byte ptr ds:[eax],al
0040D776    0000            add byte ptr ds:[eax],al
0040D778    0000            add byte ptr ds:[eax],al
0040D77A    0000            add byte ptr ds:[eax],al
0040D77C    0000            add byte ptr ds:[eax],al
0040D77E    0000            add byte ptr ds:[eax],al
0040D780    0000            add byte ptr ds:[eax],al
0040D782    0000            add byte ptr ds:[eax],al
0040D784    0000            add byte ptr ds:[eax],al
0040D786    0000            add byte ptr ds:[eax],al

此时,注意到后面全是空数据,要引用异常的

看堆栈
0012FF84           0012FFC4  指针到下一个 SEH 记录
0012FF88           0040D70C  SE 句柄
0012FF8C           76D83C45  返回到 kernel32.76D83C45

呵呵 SE句柄前面的地址又是程序领空,剩下的就跟上面一样了,呵呵 !~~~

新手学破解,不知道发的东西有用没,希望大家谅解下。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
请问如何联系你,有相关YODA壳的问题想请教。
2014-12-31 08:40
0
游客
登录 | 注册 方可回帖
返回
//