老王最新壳试脱时遇到的问题,详细表述如下:
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.7116E
结构=0012FC20
点进去
7116E8B2
我们直接在这下断,然后F9运行,点取消,断下来后F8单步走
71207989 FF92 E8000000 call dword ptr [edx+E8] ; 这个地方就是注册对话框了!
我们回朔到上面,从开始跟~也可以查看字符串确定位置
71207531 /
71207537 |8B45 FC mov eax, dword ptr [ebp-4]
71207541 |
71207547 |8B45 FC mov eax, dword ptr [ebp-4]
71207550 |8B90 80000000 mov edx, dword ptr [eax+80]
71207556 |8D85 68FEFFFF lea eax, dword ptr [ebp-198]
我们就找这个.key上面的那个71207531跳转地方下断吧,记得是硬件断点,直接在命令行打he 71207531,重新来F9,断下来后F8单步走
这2个地方不跳就过注册了,刚发现有很多种改法,这个是其中一种,剩下大家自己揣摩下,看看效果吧,直接改下标志位就可以过注册了
问题出来了,我用类似的原理脱另一个程序时,就出现了问题:
这个程序提供如下:
备注:我用了二十个相同的记事本,同时使用老王最新加壳工具加的壳,其中有一种入口刚好与这个程序相同,壳入口特征如下:
00409673 > E8 01000000 call 老王最新.00409679
00409678 5E pop esi
00409679
00409682
00409685 E9 61040000 jmp 老王最新.00409AEB
问题描述:当第一次shift+F9时就出现了:
软件无法运行于被调试状态,如需使用本软件请关闭后再运行。
急盼高手指点,如何脱掉这个壳的方法,谢谢,因为是新手,所以描述不当之处敬请提出疑点