吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15249|回复: 11
收起左侧

[原创] Safengine Licensor Demo v1.8.0.0 脱壳

[复制链接]
Charlie 发表于 2012-3-29 18:15
本帖最后由 Charlie 于 2012-3-29 18:17 编辑

【文章标题】: Safengine Licensor Demo v1.8.0.0 脱壳
【文章作者】: Charlie
【软件名称】: 起凡可乐0329
【软件大小】: 3.94 MB
【下载地址】: 自己搜索下载
【加壳方式】: Safengine Licensor Demo v1.8.0.0
【保护方式】:  应该是Licensor Demo 初级吧
【编写语言】: VC++
【使用工具】: peid od lordPE importrec Uif
【操作平台】: xp
【软件介绍】: 游戏辅助
【作者声明】: 作者的不认真 让偶这小菜有出头之日!
--------------------------------------------------------------------------------
【详细过程】
  PEID查壳
  区段显示为text se se se se
  初步判断为safengine加壳保护
  
  载入OD 看到字符串
  
  00B06826 > $  E8 21000000   call 起凡可乐.00B0684C   ;  PUSH ASCII "Safengine Licensor Demo v1.8.0.0"
  00B0682B   .  53 61 66 65 6>ascii "Safengine Licens"
  00B0683B   .  6F 72 20 44 6>ascii "or Demo v1.8.0.0"
  00B0684B   .  00            ascii 0
  
  开始F7 停在这里
  00B0684C   > \8D6424 04     lea esp,dword ptr ss:[esp+0x4]
  00B06850   .  60            pushad                           
  00B06851   .  64:8B05 30000>mov eax,dword ptr fs:[0x30]      2次F8来到这里 我们进行hr esp
  00B06858   .  8B40 0C       mov eax,dword ptr ds:[eax+0xC]
  00B0685B   .  8B40 1C       mov eax,dword ptr ds:[eax+0x1C]
  00B0685E   .  8B00          mov eax,dword ptr ds:[eax]
  00B06860   .  8B40 08       mov eax,dword ptr ds:[eax+0x8]
  00B06863   .  50            push eax
  00B06864   .^ E9 79FFFFFF   jmp 起凡可乐.00B067E2
  
  数据窗口显示为
  0012FFA4  7C930228  ntdll.7C930228
  0012FFA8  FFFFFFFF
  0012FFAC  0012FFF0
  0012FFB0  0012FFC4
  0012FFB4  7FFD3000
  0012FFB8  7C92E514  ntdll.KiFastSystemCallRet
  
  我们继续F9运行
  00B069A5   .^\E9 1AACFFFF   jmp 起凡可乐.00B015C4       停在这里
  00B069AA      4D            db 4D   
  00B069AB   >  C9            leave
  00B069AC   .  59            pop ecx
  00B069AD   .  38CB          cmp bl,cl
  00B069AF   .  2022          and byte ptr ds:[edx],ah
  00B069B1   .  AB            stos dword ptr es:[edi]
  00B069B2   .  3B5E AD       cmp ebx,dword ptr ds:[esi-0x53]
  00B069B5   .  4B            dec ebx
  00B069B6   .  97            xchg eax,edi
  00B069B7   .  1181 E013FF71 adc dword ptr ds:[ecx+0x71FF13E0],eax
  00B069BD   .  F4            hlt
  00B069BE   .  6A 0D         push 0xD
  
  00B069AA F4来到
  
  00A22433    9C              pushfd               
  00A22434  ^ EB D6           jmp X起凡可乐.00A2240C
  00A22436    81EC C0000000   sub esp,0xC0
  00A2243C  ^ EB D7           jmp X起凡可乐.00A22415
  00A2243E    30BB 2B4EBD52   xor byte ptr ds:[ebx+0x52BD4E2B],bh
  00A22444    CC              int3
  00A22445    46              inc esi
  00A22446    D4 B3           aam 0xB3
  00A22448    4E              dec esi
  00A22449    AC              lods byte ptr ds:[esi]
  00A2244A    CB              retf
  00A2244B    40              inc eax
  00A2244C    D6              salc
  00A2244D    B1 40           mov cl,0x40
  00A2244F    E7 06           out 0x6,eax
  00A22451    F4              hlt
  00A22452    AA              stos byte ptr es:[edi]
  00A22453    894424 24       mov dword ptr ss:[esp+0x24],eax
  00A22457    61              popad
  00A22458    FF4424 08       inc dword ptr ss:[esp+0x8]     
  00A2245C    9D              popfd
  00A2245D    C3              retn
  00A2245E    F2:             prefix repne:
  
  我们可以看到这一段为壳的虚拟机代码
  A22433出开始压栈
  A22457到A2245D开始出栈 这里需要注意
  
  我们继续F8来到
  00A22434  ^\EB D6           jmp X起凡可乐.00A2240C
  00A22436    81EC C0000000   sub esp,0xC0             F4
  00A2243C  ^ EB D7           jmp X起凡可乐.00A22415
  00A2243E    30BB 2B4EBD52   xor byte ptr ds:[ebx+0x52BD4E2B],bh F4
  00A22444    CC              int3
  00A22445    46              inc esi
  00A22446    D4 B3           aam 0xB3
  00A22448    4E              dec esi
  00A22449    AC              lods byte ptr ds:[esi]
  
  2次F4后来到
  
  00A225D3  ^\EB 9E           jmp X起凡可乐.00A22573
  00A225D5    37              aaa      
  00A225D6    B5 25           mov ch,0x25
  00A225D8    4C              dec esp
  00A225D9    BF 5C57D644     mov edi,0x44D6575C
  00A225DE    23DE            and ebx,esi
  00A225E0    3C 01           cmp al,0x1
  00A225E2    8515 7C8F64BD   test dword ptr ds:[0xBD648F7C],edx
  00A225E8    3AA8 CF3ADA7D   cmp ch,byte ptr ds:[eax+0x7DDA3ACF]
  00A225EE    FF6F 0A         jmp Xfword ptr ds:[edi+0xA]
  00A225F1    F9              stc
  00A225F2  - E9 0D881E79     jmp 79C0AE04                     
  
  A225F2继续无条件跳转到系统领空 我们在A225D3出F8 使其顺着流程走
  
  00A22573    83C5 04         add ebp,0x4
  00A22576  ^ E9 36FFFFFF     jmp 起凡可乐.00A224B1
  00A2257B    C2 5DCD         retn 0xCD5D                      F4
  
  跟着流程走
  00A2248E   /E9 B0000000     jmp 起凡可乐.00A22543
  00A22493   |2E:A7           cmps dword ptr cs:[esi],dword ptr es:[ed>
  00A22495   |37              aaa
  00A22496   |52              push edx
  00A22497   |A1 4D019303     mov eax,dword ptr ds:[0x393014D]
  00A2249C   |66:95           xchg ax,bp
  00A2249E   |7A EE           jpe X起凡可乐.00A2248E
  00A224A0   |61              popad
  00A224A1   |F1              int1
  00A224A2   |90              nop
  00A224A3   |6395 152DBEAE   arpl word ptr ss:[ebp+0xAEBE2D15],dx
  00A224A9   |8BDE            mov ebx,esi
  00A224AB   |81C6 00004000   add esi,起凡可乐.00400000
  00A224B1   |0FB646 FF       movzx eax,byte ptr ds:[esi-0x1]
  00A224B5  ^|EB BB           jmp X起凡可乐.00A22472
  00A224B7  ^|73 E7           jnb X起凡可乐.00A224A0
  00A224B9   |77 12           ja X起凡可乐.00A224CD
  00A224BB   |E1 07           loopde X起凡可乐.00A224C4
  00A224BD  ^|78 E9           js X起凡可乐.00A224A8
  00A224BF   |79 18           jns X起凡可乐.00A224D9
  00A224C1   |EB 1C           jmp X起凡可乐.00A224DF
  
  
  
  来到这里
  00A22548  ^\EB BE           jmp X起凡可乐.00A22508
  00A2254A    198B 1B7E8D22   sbb dword ptr ds:[ebx+0x228D7E1B],ecx  
  00A22550    F3:             prefix rep:
  00A22551    F756 8B         not dword ptr ds:[esi-0x75]
  00A22554    F2:             prefix repne:
  
  A2254A处打断跳转来到
  
  00A30F42    9D              popfd
  00A30F43    61              popad
  00A30F44    C3              retn           不难看出壳区段已经解码  跟进去
  00A30F45    E8 E814FFFF     call 起凡可乐.00A22432
  00A30F4A    E8 E314FFFF     call 起凡可乐.00A22432
  
  
  在47395D 处新建EIP
  记住OEP地址为7395D
  
  我们开始Lord pe抓取映像文件
  
  未命名的窗口, 条目 21
  进程=00000DFC
   名称=起凡可乐0329
   路径=C:\Documents and Settings\Administrator\桌面\临时程序\起凡可乐0329\起凡可乐0329.exe
  
  查看调试程序进程为0DFC
  
  此时用到我们强大到UIF输入表修复工具
  
  进程ID填写 0DFC 其他为默认
  
  
  修复数据如下
  
  修复成功!
  
  已修复模块: 起凡可乐0329.exe
  映像的基址: 00400000
  
  IAT RVA:00D00170
  IAT 大小: 000000B8
  
  正常的输入: 86
  直接的输入: 0
  所有的输入: 86
  
  我们其次修改下程序RVA的偏移地址 这里就不说了 相信大家都会
  
  此时用到我们的 importrec
  
  OEP填写7395D
  rva D00170
  IAT 0B8
  
  直接获取输入表  转储
  
  打开程序可以正常运行 查壳为
  Microsoft Visual C++ 6.0
  
  脱壳修复完毕 木有什么技术含量 让老师们见笑了
--------------------------------------------------------------------------------
【版权声明】: 本文原创于Charlie, 转载请注明作者并保持文章的完整, 谢谢!
只是感兴趣 无其他目的 失误之处请诸位大虾见谅。
                                                       2012年03月29日 18:09:51


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

a070458 发表于 2012-3-29 18:40
果断前来学习
疯狂的小鬼 发表于 2012-3-29 18:39
Kido 发表于 2012-3-29 18:27
膜拜Charlie老湿
Charlie老湿又一次展现了自己精湛的脱壳技巧.
膜拜之.
飞龙使者 发表于 2012-3-29 18:16
本帖最后由 飞龙使者 于 2012-3-29 22:04 编辑

能脱SE的都是大牛 果断学习+膜拜
看着简单脱起来难啊。。。求技巧

nilinweiwo 发表于 2012-3-29 18:45
学习了!支持下!
xie83544109 发表于 2012-3-29 19:21

来学习下下脱壳哟
头像被屏蔽
xiaowenyu520 发表于 2012-3-29 20:09
提示: 作者被禁止或删除 内容自动屏蔽
索马里的海贼 发表于 2012-3-31 09:03
膜拜Charlie老湿 。 SE都能脱了。 。
阿杰 发表于 2012-4-5 16:08
无人能越的水平啊  要逆天了 SE都脱了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-18 04:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表