首页
社区
课程
招聘
[旧帖] [原创]脱ZProtect1.41 0.00雪花
发表于: 2011-10-29 13:19 2368

[旧帖] [原创]脱ZProtect1.41 0.00雪花

2011-10-29 13:19
2368

脱ZProtect1.41
   先用PEID查下,ZP1.4X的,载入OD。
0049F957 >  8D84C0 00010401 lea     eax, dword ptr [eax+eax*8+104010>
0049F95E  ^ E9 45FCFFFF     jmp     0049F5A8
   先单步跟踪,来到这里。
  
0049F8E1    E8 02000000     call    0049F8E8
0049F8E6    F7              ???                                      ; 未知命令
0049F8E7    0D 8704248D     or      eax, 8D240487
0049F8EC    8055 02 00      adc     byte ptr [ebp+2], 0
0049F8F0    0087 0424E942   add     byte ptr [edi+42E92404], al
0049F8F6    0200            add     al, byte ptr [eax]

CALL下面就是个???当然应当F7步入。在经过JMP来到了
0049FB3B    60              pushad             //可以用ESP了
0049FB3C    E9 7D000000     jmp     0049FBBE
0049FB41    DF97 89442410   fist    word ptr [edi+10244489]
0049FB47    E9 4B010000     jmp     0049FC97
0049FB4C    EE              out     dx, al
0049FB4D    0F85 BA000000   jnz     0049FC0D
0049FB53  ^ E9 CEFBFFFF     jmp     0049F726
0049FB58    897C24 1C       mov     dword ptr [esp+1C], edi
0049FB5C  ^ E9 88FBFFFF     jmp     0049F6E9

步过0049FB3B,命令栏 HR ESP
然后F9运行。
00B123F9  ^\E9 CEFCFFFF     jmp     00B120CC

00B120CC    C3              retn

到达OEP了~~
0047C6BC    55              push    ebp
0047C6BD    8BEC            mov     ebp, esp
0047C6BF    83C4 F0         add     esp, -10
0047C6C2    B8 E4C44700     mov     eax, 0047C4E4
0047C6C7    E8 68A1F8FF     call    00406834
0047C6CC    A1 F0E24700     mov     eax, dword ptr [47E2F0]
0047C6D1    8B00            mov     eax, dword ptr [eax]
0047C6D3    E8 3043FEFF     call    00460A08
0047C6D8    A1 F0E24700     mov     eax, dword ptr [47E2F0]
0047C6DD    8B00            mov     eax, dword ptr [eax]
0047C6DF    BA 1CC74700     mov     edx, 0047C71C
0047C6E4    E8 433FFEFF     call    0046062C
0047C6E9    8B0D ECE34700   mov     ecx, dword ptr [47E3EC]          ; unpack_z.0047FD0C

  Delphi的头。。然后就是脱壳修复了。
现在普遍有两种方法进行脱壳修复,一种是用修复代码,IAT修复完毕再脱壳。
另一种是直接脱壳,对付常规壳一样再慢慢修复。这次用的是后者。

  直接用LORDPE 脱壳,然后打开  IMPORT REC载入
所有IAT基本都无效,用1级跟踪没用,2级跟踪也没什么用,半路动不鸟了~~~

  只好先关了,重新打开IMPORT REC,再打开原加壳程序,进程选取原加壳程序。
然后输入OEP查找IAT,接着用等级3一段一段修复
  不过这个程序IAT还不少,花了五六分钟才修复完,最好中间保存一下树文件,万一
快完工的时候,机子不给力那可就惨了~!
当全部修复完成时,转出修复就OK了~~

  测试运行。。。有错误~~~
ZP对软件资源另有保护,用LORDPE加载脱壳后程序,点击目录-资源,LORDPE直接跳掉了,
说明问题就出在这。LORDPE里资源地址是:001CC000

  打开C32ASM,载入程序,转到上述位置,前面几位都00,不鸟他,
从有内容的开始,    AD 7C 86 30
然后把光标拖回最上面,搜索十六进制  AD 7C 86 30

  然后到达了  0009A000  将这个地址替换LORDPE里的原地址,然后再测试下
成功打开了。。。
----------------------------------------------------------------------------------
还有一种是代码修复IAT了,这里就不详细讲了,我把从网上找来的代码发下
时间过去N久了,作者是谁忘了,望作者勿怪~~

修复代码信息:

B8 00 40 42 00 8B 18 83 FB 00 74 36 80 3B 68 75 40 8B 4B 01 50 51 FF 15 2C 65 A8 00 8B F0 A1 64
6C A8 00 2B 05 60 6C A8 00 C1 F8 02 3B F0 72 05 E8 76 49 FF FF A1 60 6C A8 00 8B 04 B0 5F 57 89
07 58 83 C0 04 3D 90 47 42 00 72 B9 E9 81 01 82 FF 66 81 3B 50 60 75 EA 80 7B 02 68 75 E4 8B 4B
03 EB B1

    mov     eax, XXXXXXXX    //IAT起始位置
    CMP     EAX,XXXXXX       //IAT终止位置

    中括号里得一些相同的常量的地址改成解码CALL地址就OK了
不过有部分IAT要自己手动修复。大家自己弄吧。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 6
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//