首页
社区
课程
招聘
[旧帖] [原创]新人找OEP,自创方法脱FSG2.0,求转正 0.00雪花
发表于: 2013-6-6 03:36 1782

[旧帖] [原创]新人找OEP,自创方法脱FSG2.0,求转正 0.00雪花

2013-6-6 03:36
1782
最开始接触这壳,ESP方法,二次内存中断法,模拟跟踪法,最后一次异常法,都试过了,都失效,并且有些方法在同一个地方失效,于是我就失效的地方开始研究

天草兄的方法是,F8走二步,看堆栈
004144F0           004001E8  FSG_2_0.004001E8
004144F4           004001DC  FSG_2_0.004001DC
004144F8           004001DE  FSG_2_0.004001DE
004144FC           004010CC  FSG_2_0.004010CC

看到最下面的10CC呵呵,不过这种方法我有点不是很理解,因为那里是10CC我们很快知道是入口地址,如果不是10CC呢?我们还能判断栈底的地址就是入口地址吗?

如果可以麻烦告诉我,并请讲下原理。我是初学者,呵呵 !

另外,天草兄说的SFX方法对此壳有效

下面所下我自己的方法

自己改进的ESP方法:

00400154 >  8725 EC444100   xchg dword ptr ds:[4144EC],esp
0040015A    61              popad
0040015B    94              xchg eax,esp
0040015C    55              push ebp
0040015D    A4              movs byte ptr es:[edi],byte ptr ds:[esi]
0040015E    B6 80           mov dh,80
00400160    FF13            call dword ptr ds:[ebx]

F8走两步,在数据窗口跟踪ESP,对其下WORD硬件断点
F9运行,取消硬件断点

然后用最原始的单步跟踪法,来到
004001CA    8B07            mov eax,dword ptr ds:[edi]
004001CC    40              inc eax
004001CD  ^ 78 F3           js short FSG_2_0.004001C2
004001CF    75 03           jnz short FSG_2_0.004001D4
004001D1    FF63 0C         jmp dword ptr ds:[ebx+C]
004001D4    50              push eax
004001D5    55              push ebp
004001D6    FF53 14         call dword ptr ds:[ebx+14]
004001D9    AB              stos dword ptr es:[edi]
004001DA  ^ EB EE           jmp short FSG_2_0.004001CA
004001DC    33C9            xor ecx,ecx
004001DE    41              inc ecx

在4001DA地方,跳转实现了
如果我们在它后面一句按F4,程序马上跑飞了,这里就是关键了

我们让它往上跳一次,发现它是一个循环结构

004001D6    FF53 14         call dword ptr ds:[ebx+14]                    ; kernel32.GetProcAddress

循环调用GetProcAddress

并且每次1CF都跳到1D4,中间就没执行过
004001CF   /75 03           jnz short FSG_2_0.004001D4
004001D1   |FF63 0C         jmp dword ptr ds:[ebx+C]
004001D4   \50              push eax

那么这个循环的出口,一定就在中间一句,在中间一句F2下断,SHIFT+F9运行,呵呵 ,我们得到

004001D1  - FF63 0C         jmp dword ptr ds:[ebx+C]                      ; FSG_2_0.004010CC

呵呵 熟悉的10CC又出现了

另外,通过二次内存中断法(天草兄所说的内存镜像法)后,按F8继续单步,最终到达的情况跟上面的一样

呵呵 ,本人新手,正在看教程,如果有志同道合者,一起学习交流,本人QQ:296969121

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 120
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大家共同进步吧。。。我也在看天草的教程。
2013-6-17 15:37
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看天草的教程,很相似。
2013-11-1 07:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习中。。。
2013-11-1 16:53
0
游客
登录 | 注册 方可回帖
返回
//