xujunlin5588 发表于 2009-7-19 15:29

脱SVKP 1.3x的一些感想

今天 才看完天草 老师脱这个壳的教程,真够长的,足足19多分钟。
里面所涉及的IAT处理,API处理真是够难记的,最难的就是要自己推算出那4处未知道的Stolen Code.
不过最后通过天草老师的笔记,最后还是补上了。
那个壳偷取了106个字节,想想都恐怖吧?补上了以后自己修复,发现只有1个无效指针。可以删除掉或者变会MessboxExA.

于是我又重新把未脱壳软件用OD载入,在被窃取代码的第一句改成了push ebp,然后新建了EIP。OEP为 524C(我想补回来跟没补回来也不就一样么?)
再用lordPE脱壳。修复时发现有2个无效的指针,最后那一个可以删除或者用MessBoxExA..前面那个应该是GetModuleHandleA,因为在kernel32.dll中,这个壳会对GetProcAddress   
GetModuleHandleA,进行处理,可是GetProcAddress 这个指针已经是有效的了,那么就是说是 GetModuleHandleA。

然后修复转存文件,保存后,程序能正常打开。


问题&感想:
其实对于用这个壳保护的文件而言,是否能用这种方法脱壳?知道在
user32.dllMessageBoxExA
kernel32.dllGetProcAddress   
                GetModuleHandleA
advapi32.dllRegCloseKeyA
                RegDeleteKeyA
                RegCreateKeyExA
这些段会对这些指针进行处理,那么就能够直接脱掉壳并且修复完成?
不过对与1.43而言,这种方法不行,因为有7个无效的指针,不知道是属于哪个的。

有兴趣的大家可以试下,不用找 stolen Code,直接这样干,试下能否把壳脱掉。如果我哪里说错了,请大家指点一下!

wocai 发表于 2010-8-21 19:17

楼主可不可以说详细一点呢,谢谢也, 怎么脱掉的也?

kir 发表于 2010-8-22 09:27

我想大概的意思就是在找到被偷的第一段的代码那里设置新的OEP,把OEP的的入口地址写上重建。。不过IAT要自己靠经验来修复了。好在这个壳要处理的指针不多,所以这方法能行。。

丨柔情似水丨 发表于 2012-4-13 17:27

有什么办法简单点脱壳吗?这样太难了,对一个新手来说云里雾里的。我是学理的人,没有给出根据或者思路,我就想不通,为什么要按照这个步骤来脱壳啊。{:1_937:}
页: [1]
查看完整版本: 脱SVKP 1.3x的一些感想