最近心血来潮,想学学脱壳破解方面的只是,之前也曾对脱壳破解仔细的看过一段时间的相关资料,后来由于工作时间忙,就没太关注这方面了,然而前天刚好有个朋友说让我帮他对一款软件脱壳,我看最近也还不忙,也颇有兴趣,也想尝试下那种成功脱壳后的快感和成就感,就答应了。
乘着兴趣正浓,开始我的脱壳之路了。
用PEID查克是:ASPack 2.12 -> Alexey Solodovnikov [Overlay]
一看是ASpackt的壳,心里就想着“咦,这壳不算什么难脱的壳呀”于是打开od,载入程序,直接ESP定律,一切都按我想的那样运行下去了,最后成功的看到OEP,心里那个喜悦呀
找到OEP后LoadPE+ImportREC,成功的脱壳了 ,哈哈,看着一切这么顺利,心里暗喜道”脱壳嘛,不就这么几招,太简单了
“
然而结果不是那样滴,脱壳修复后,程序运行不起来了
对于我这个新手,碰到这个问题觉得茫然呀,我在想,是不是我脱错了,找错OEP了
? 但仔细想想应该OEP没错呀,因为脱壳的程序勉强点说也可以说可以运行,只是打开后总弹出一个”error"的框框,点确定后,进入程序,但进入程序后里面的图片呀,文本框呀之类的都看不见了。于是我打开加壳的程序和我脱壳的程序对比,一路F7程序可以运行下去,但按F8程序就跑飞了,也不知道什么原因,
程序报错信息:
[mg]http://b215.photo.store.qq.com/psb?/V10Quq9F3dycDN/ChH5BpnmoImNDnB3P.zQz4W46QwKEu*xUrGB*YiFQWU!/b/YaM7N4AbRQAAYv82N4BiRAAA" [/img]
程序OEP:
004E4E20 > 55 push ebp
004E4E21 8BEC mov ebp,esp
004E4E23 83C4 F0 add esp,-10
004E4E26 B8 DC354E00 mov eax,复件_dum.004E35DC
004E4E2B E8 8C23F2FF call 复件_dum.004071BC
004E4E30 A1 64AF4E00 mov eax,dword ptr ds:[4EAF64]
004E4E35 8B00 mov eax,dword ptr ds:[eax]
004E4E37 E8 1C16F8FF call 复件_dum.00466458
004E4E3C A1 64AF4E00 mov eax,dword ptr ds:[4EAF64]
004E4E41 8B00 mov eax,dword ptr ds:[eax]
004E4E43 BA 804E4E00 mov edx,复件_dum.004E4E80
004E4E48 E8 C310F8FF call 复件_dum.00465F10
004E4E4D 8B0D C4AB4E00 mov ecx,dword ptr ds:[4EABC4] ; 复件_dum.004F3984
004E4E53 A1 64AF4E00 mov eax,dword ptr ds:[4EAF64]
004E4E58 8B00 mov eax,dword ptr ds:[eax]
004E4E5A 8B15 40ED4D00 mov edx,dword ptr ds:[4DED40] ; 复件_dum.004DED8C
004E4E60 E8 0B16F8FF call 复件_dum.00466470
004E4E65 A1 64AF4E00 mov eax,dword ptr ds:[4EAF64]
004E4E6A 8B00 mov eax,dword ptr ds:[eax]
004E4E6C E8 3717F8FF call 复件_dum.004665A8
004E4E71 E8 42FCF1FF call 复件_dum.00404AB8
004E4E76 0000 add byte ptr ds:[eax],al
004E4E78 FFFF ??? ; 未知命令
004E4E7A FFFF ??? ; 未知命令
004E4E7C 0A00 or al,byte ptr ds:[eax]
004E4E7E 0000 add byte ptr ds:[eax],al
004E4E80 B4 AB mov ah,0AB
004E4E82 C6 ??? ; 未知命令
004E4E83 E6 B5 out 0B5,al
最后还补冲一下:就是我程序脱壳了,用PEID查看了是用Borland Delphi v6.0 - v7.0编写;
我用OD重新载入我脱壳的程序,在OEP下面的call处按F7可以跳到对应的地址去,但按F8却不是跳到call的地址处而跑到其他地方去,不知道这是什么原因,我在没脱的程序里面在相同的地方F8可以通过,程序可以运行起来,但脱壳后F8就不行,一按F8,程序就异常了,但F7却可以。什么原因呢
可能我描述的还不是很清楚,那位大哥路过还请帮忙给小弟看看,找找原因吧 谢谢啦
需要源程序的把邮箱或者qq留下吧我直接发给你吗,附近在这里上传好慢哦
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课