您的位置:首页 > 其它

手脱FSG v1.33

2015-11-15 00:58 176 查看
1.载入PEID

FSGv1.33(Eng)->dulek/xt

2.载入OD,先F8跟一会

004103E3>BEA4014000movesi,fsg1_33.004001A4;//程序入口
004103E8ADlodsdwordptrds:[esi]
004103E993xchgeax,ebx
004103EAADlodsdwordptrds:[esi]
004103EB97xchgeax,edi
004103ECADlodsdwordptrds:[esi]



3.来到这个位置的时候,我们看到一个push入栈,可以使用ESP定律,下硬件断点,然后shift+F9运行

004103ECADlodsdwordptrds:[esi]
004103ED56pushesi
004103EE96xchgeax,esi;//ESP
004103EFB280movdl,0x80
004103F1A4movsbyteptres:[edi],byteptrd>
004103F2B680movdh,0x80



4.ESP落脚点,然后继续F8,记得向上跳转的下一行F4,这就不多说了

0041045AADlodsdwordptrds:[esi];//ESP落脚点
0041045B48deceax
0041045C740Ajeshortfsg1_33.00410468
0041045E7902jnsshortfsg1_33.00410462
00410460ADlodsdwordptrds:[esi]
0041046150pusheax
0041046256pushesi


5.OK,找到关键跳了,可是这个跳转没有实现,我们需要让他实现,那么就要下条件断点,先分析跳转上一行的汇编代码,这是一个递减语句,具体汇编代码可以查看http://www.52pojie.cn/thread-420306-1-1.html,自己去分析学习。右键–断点–条件断点–输入”[esi]==0”–F9,OK,这样跳转就实现了,继续F8一下就是OEP了

00410482FE0Edecbyteptrds:[esi]
00410484-0F84420CFFFFjefsg1_33.004010CC;//关键跳
0041048A56pushesi
0041048B55pushebp
0041048CFF5304calldwordptrds:[ebx+0x4]
0041048FABstosdwordptres:[edi]



6.来到OEP,可以脱壳了

004010CC55pushebp;//来到OEP
004010CD8BECmovebp,esp
004010CF83EC44subesp,0x44
004010D256pushesi
004010D3FF15E0634000calldwordptrds:[0x4063E0]
004010D98BF0movesi,eax
004010DB8A00moval,byteptrds:[eax]
004010DD3C22cmpal,0x22



7.运行查壳

运行OK,查壳:MicrosoftVisualC++v6.0SPx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: