首页
社区
课程
招聘
NsPacK V3.4-V3.5加壳的易程序脱壳手记
发表于: 2006-9-8 16:54 6396

NsPacK V3.4-V3.5加壳的易程序脱壳手记

2006-9-8 16:54
6396
【脱文标题】: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作者讲授!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
2
倒不用这样子脱壳 ECE中可以直接DUMP ECODE的 然后用ECE封装一下就可以了  不需要处理附加数据之类的  因为最终代码都是在ECODE中执行
2006-9-9 14:09
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
3
最初由 foxabu 发布
倒不用这样子脱壳 ECE中可以直接DUMP ECODE的 然后用ECE封装一下就可以了 不需要处理附加数据之类的 因为最终代码都是在ECODE中执行


我试过,但好像不行,出现非法操作,可能对NsPacK 无效

这个程序用ECODE导出的易原体再用ECE封装后的大小不到3M,而用本文的方法

脱壳后有4.39M,不知道为什么相差如此之大?
2006-9-9 15:41
0
雪    币: 319
活跃值: (2404)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
4
用ECE封装的只有2.91M,可以正常运行。脱壳后有4.39M估计是壳的垃圾代码。
2006-9-13 14:30
0
游客
登录 | 注册 方可回帖
返回
//