






















老王最新壳试脱时遇到的问题,详细表述如下:
1. 用peid查看壳时,显示区段为EPE1。怀疑是老王的壳。提示为:什么都没有。
2. 用importREC查看dll时,发现只有一个系统kernel.dll,说明是加过壳的。
3. 用十六进制编辑工具打开,可以看到确实是老王的壳,并且已经提示了版本,如下:
EPE: EncryptPE V2.2008.6.18
4. 用老王的加壳工具给十个相同的记事本加壳时发现,加壳后用od载入,其壳的入口都是不一样的。
5. 在网上查找资料,发现了一篇讲述如何脱EPE: EncryptPE V2.2008.6.18的资料,于是按照下面的思路脱壳:
好,进入主题,怎么跳过注册框,OD载入目标程序,新版本的好象入口点方式有所改变,我们先Shift+F9直接运行起来,这时候用F12暂停,然后看堆栈
调用堆栈: 主线程3, 条目 3
地址=0012FBD0
堆栈=7116E874
函数过程 / 参数=V2200806.71171958
调用来自=V2200806.7116E86F
结构=0012FC20
点进去
7116E8B2 6A 00 push 0
我们直接在这下断,然后F9运行,点取消,断下来后F8单步走
71207989 FF92 E8000000 call dword ptr [edx+E8] ; 这个地方就是注册对话框了!
我们回朔到上面,从开始跟~也可以查看字符串确定位置
71207531 /0F84 B9020000 je 712077F0
71207537 |8B45 FC mov eax, dword ptr [ebp-4]
7120753A |83B8 F8030000 0>cmp dword ptr [eax+3F8], 0
71207541 |0F8E A9020000 jle 712077F0
71207547 |8B45 FC mov eax, dword ptr [ebp-4]
7120754A |8B80 34030000 mov eax, dword ptr [eax+334]
71207550 |8B90 80000000 mov edx, dword ptr [eax+80]
71207556 |8D85 68FEFFFF lea eax, dword ptr [ebp-198]
7120755C |B9 407E2071 mov ecx, 71207E40 ; .key
我们就找这个.key上面的那个71207531跳转地方下断吧,记得是硬件断点,直接在命令行打he 71207531,重新来F9,断下来后F8单步走
71207A54 ^\0F84 C1FEFFFF je 7120791B ; 1
71207A5A 8B55 FC mov edx, dword ptr [ebp-4]
71207A5D 8B92 F0020000 mov edx, dword ptr [edx+2F0]
71207A63 837A 30 64 cmp dword ptr [edx+30], 64
71207A67 ^ 0F84 AEFEFFFF je 7120791B ; 2
这2个地方不跳就过注册了,刚发现有很多种改法,这个是其中一种,剩下大家自己揣摩下,看看效果吧,直接改下标志位就可以过注册了
71207A2F /75 05 jnz short 71207A36
71207A31 |E8 F2CBFEFF call 711F4628 ; 这个应该是结束程序了
71207A36 \8B45 FC mov eax, dword ptr [ebp-4]
71207A39 8B80 04030000 mov eax, dword ptr [eax+304]
71207A3F 8378 0C 00 cmp dword ptr [eax+C], 0
71207A43 74 28 je short 71207A6D ; 这个应该是注册成功的话就跳向注册
71207A45 8B45 FC mov eax, dword ptr [ebp-4]
71207A48 8B80 04030000 mov eax, dword ptr [eax+304]
71207A4E 8B40 0C mov eax, dword ptr [eax+C]
71207A51 83F8 01 cmp eax, 1
71207A54 ^ 0F84 C1FEFFFF je 7120791B ; 1
71207A5A 8B55 FC mov edx, dword ptr [ebp-4]
71207A5D 8B92 F0020000 mov edx, dword ptr [edx+2F0]
71207A63 837A 30 64 cmp dword ptr [edx+30], 64
71207A67 ^ 0F84 AEFEFFFF je 7120791B ; 2
问题出来了,我用类似的原理脱另一个程序时,就出现了问题:
这个程序提供如下:
备注:我用了二十个相同的记事本,同时使用老王最新加壳工具加的壳,其中有一种入口刚好与这个程序相同,壳入口特征如下:
00409673 > E8 01000000 call 老王最新.00409679
00409678 5E pop esi
00409679 870C24 xchg dword ptr ss:[esp],ecx
0040967C 8D89 E8040000 lea ecx,dword ptr ds:[ecx+4E8]
00409682 870C24 xchg dword ptr ss:[esp],ecx
00409685 E9 61040000 jmp 老王最新.00409AEB
问题描述:当第一次shift+F9时就出现了:
软件无法运行于被调试状态,如需使用本软件请关闭后再运行。
急盼高手指点,如何脱掉这个壳的方法,谢谢,因为是新手,所以描述不当之处敬请提出疑点
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。