【脱文标题】:NsPacK V3.4-V3.5加壳的易程序脱壳手记
【脱文作者】:非安全
【软件名称】:医院管理专家v3.39版
【下载地址】:
http://www.16688.org/down.asp
【保护方式】:使用NsPacK V3.4-V3.5壳保护
【编译语言】:易语言(E code)
【调试环境】:WinXP,Ollydbg
【脱壳日期】:2006.09.08
【脱壳目的】:推广使用Ollydbg手动脱壳
【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
===================================================
【脱壳过程】:
第一步:用PEID载入软件为NsPacK V3.4-V3.5 -> LiuXingPing [Overlay] *
小样,存在附加数据 [Overlay]
第二步:用OD载入运行有异常,先不管它,CTRL+F2重新加载,停在下面的入口点:
006C5B0D > 9C pushfd
006C5B0E 60 pushad
006C5B0F E8 00000000 call main.006C5B14
006C5B14 5D pop ebp
006C5B15 83ED 07 sub ebp,7
用ESP定律,按F8一次,看右上角的ESP为0012FFC0
在下面的命令行里输入命令: dd 0012FFC0
然后在随后出现的地址栏里0012FFC0处点鼠标右键 断点→设置硬件访问断点→Word
F9运行继续程序,碰的一声,程序断在这里:
006C5D81 - E9 ABDAD3FF jmp main.00403831 ;这里跳向OEP
006C5D86 8BB5 57FEFFFF mov esi,dword ptr ss:[ebp-1A9]
006C5D8C 0BF6 or esi,esi
到这样也有好办了,F8一次就跳到了OEP
00403830 C3 retn
00403831 55 push ebp
00403832 8BEC mov ebp,esp
00403834 6A FF push -1
00403836 68 F0624000 push main.004062F0
0040383B 68 A44C4000 push main.00404CA4
00403840 64:A1 00000000 mov eax,dword ptr fs:[0]
00403846 50 push eax
00403847 64:8925 0000000>mov dword ptr fs:[0],esp
0040384E 83EC 58 sub esp,58
00403851 53 push ebx
00403852 56 push esi
00403853 57 push edi
00403854 8965 E8 mov dword ptr ss:[ebp-18],esp
00403857 FF15 48604000 call dword ptr ds:[406048] ; kernel32.GetVersion
0040385D 33D2 xor edx,edx
0040385F 8AD4 mov dl,ah
在00403831出点鼠标右键→脱壳在当前调试的进程,运行试下,是不是提示"Invalid data in the file!"
这个是当然的,易程序都是有附加数据的,我们还需要最后一步 : copy overlay
打开 Overlay1.0(下载地址:
http://bbs.pediy.com/showthread.php?s=&threadid=19388&highlight=overlay
)
选择原文件和脱壳后的文件,点"copy overlay"
OK,现在可以运行了,不信你试试!
小结:
经过我的观查,易程序的入口点都会有调用GetVersion,以后碰到易程序直接BP GetVersion
然后CTRL+F9 返回到程序领空,向上找到一个retn,在下面的一行指令上脱壳在当前调试的进程即可
用Overlay1.0再copy overlay一下就一切搞定.
最后的话:
我现在只脱了它的壳,破解它还有一断很远的路,不过用ECE(第一款易格式分析
工具:
http://monkeycz.pediy.com/)很简单找到注册处理地址
原程序注册窗口:
ECE中注册窗口:
希望高手能指点一下,写出它的注册机!
[课程]FART 脱壳王!加量不加价!FART作者讲授!