首页
社区
课程
招聘
[旧帖] [求助][申请邀请友]穿山甲脱壳无法运行 0.00雪花
发表于: 2009-9-3 19:23 1570

[旧帖] [求助][申请邀请友]穿山甲脱壳无法运行 0.00雪花

2009-9-3 19:23
1570
目标软件:银河远教资源管理系统   有没有高人帮忙破下,我看下破的过程,我错在哪里

★ 目标为Armadillo保护
Version 4.40.0250 (Custom Build)
保护系统级别为 (专业版)
◆所用到的保护模式有◆
屏蔽调试器
使用策略代码衔接模式
使用 Nanomites 处理模式
【备份密钥设置】
固定的备份密钥
【程序压缩设置】
较好/较慢地压缩方式
【其它保护设置】

双进程

工具:OD,lordFPE  ImportREC1.6
用插件隐藏OD,
用OD载入
01190C43 >/$  55            push    ebp
01190C44  |.  8BEC          mov     ebp, esp
01190C46  |.  6A FF         push    -1
01190C48  |.  68 909F1B01   push    ResManag.011B9F90
01190C4D  |.  68 80091901   push    ResManag.01190980                ;  SE 处理程序安装

下断点bp OpenMutexA
F9
来到这儿
7C80EABB >  8BFF            mov     edi, edi                         ; ntdll.7C930208
7C80EABD    55              push    ebp
7C80EABE    8BEC            mov     ebp, esp
7C80EAC0    51              push    ecx
7C80EAC1    51              push    ecx
7C80EAC2    837D 10 00      cmp     dword ptr [ebp+10], 0
7C80EAC6    56              push    esi
堆栈
0012F798   0117C7B8  /CALL 到 OpenMutexA 来自 ResManag.0117C7B2
0012F79C   001F0001  |Access = 1F0001
0012F7A0   00000000  |Inheritable = FALSE
0012F7A4   0012FDD8  \MutexName = "DA8::DA145B19B4"
0012F7A8   7C930208  ntdll.7C930208

Ctrl+G 401000

00401000    0000            add     byte ptr [eax], al
00401002    0000            add     byte ptr [eax], al
00401004    0000            add     byte ptr [eax], al
00401006    0000            add     byte ptr [eax], al
00401008    0000            add     byte ptr [eax], al
0040100A    0000            add     byte ptr [eax], al
0040100C    0000            add     byte ptr [eax], al
0040100E    0000            add     byte ptr [eax], al
00401010    0000            add     byte ptr [eax], al
00401012    0000            add     byte ptr [eax], al
00401014    0000            add     byte ptr [eax], al
00401016    0000            add     byte ptr [eax], al
00401018    0000            add     byte ptr [eax], al
0040101A    0000            add     byte ptr [eax], al
0040101C    0000            add     byte ptr [eax], al
0040101E    0000            add     byte ptr [eax], al
00401020    0000            add     byte ptr [eax], al

替换为
00401000    60              pushad
00401001    9C              pushfd
00401002    68 D8FD1200     push    12FDD8                           ; ASCII "DA8::DA145B19B4"
00401007    33C0            xor     eax, eax
00401009    50              push    eax
0040100A    50              push    eax
0040100B    E8 CFD9407C     call    kernel32.CreateMutexA
00401010    9D              popfd
00401011    61              popad
00401012  - E9 A4DA407C     jmp     kernel32.OpenMutexA

00401000为新的EIP,确定后 F9
来到这儿  取消断点
7C80EABB >  8BFF            mov     edi, edi                         ; ntdll.7C930208
7C80EABD    55              push    ebp
7C80EABE    8BEC            mov     ebp, esp
7C80EAC0    51              push    ecx
7C80EAC1    51              push    ecx
7C80EAC2    837D 10 00      cmp     dword ptr [ebp+10], 0
7C80EAC6    56              push    esi

下he GetModuleHandleA+5

看堆栈
00129528  |01E37105  返回到 01E37105 来自 kernel32.GetModuleHandleA
0012952C  |01E4BC1C  ASCII "kernel32.dll"
00129530  |01E4CEC4  ASCII "VirtualAlloc"

00129528  |01E37122  返回到 01E37122 来自 kernel32.GetModuleHandleA
0012952C  |01E4BC1C  ASCII "kernel32.dll"
00129530  |01E4CEB8  ASCII "VirtualFree"

一个异常,点确定,Shift+F9,

0012928C  |01E25FC9  返回到 01E25FC9 来自 kernel32.GetModuleHandleA
00129290  |001293DC  ASCII "kernel32.dll"

取消硬件断点 再按Alt+F9返回
01E25FC9      8B0D AC40E501   mov     ecx, dword ptr [1E540AC]
01E25FCF      89040E          mov     dword ptr [esi+ecx], eax
01E25FD2      A1 AC40E501     mov     eax, dword ptr [1E540AC]
01E25FD7      391C06          cmp     dword ptr [esi+eax], ebx
01E25FDA      75 16           jnz     short 01E25FF2
01E25FDC      8D85 B4FEFFFF   lea     eax, dword ptr [ebp-14C]
01E25FE2      50              push    eax
01E25FE3      FF15 BC62E401   call    dword ptr [1E462BC]              ; kernel32.LoadLibraryA
01E25FE9      8B0D AC40E501   mov     ecx, dword ptr [1E540AC]
01E25FEF      89040E          mov     dword ptr [esi+ecx], eax
01E25FF2      A1 AC40E501     mov     eax, dword ptr [1E540AC]
01E25FF7      391C06          cmp     dword ptr [esi+eax], ebx
01E25FFA      0F84 2F010000   je      01E2612F       这就是所说的magic jmp吧 改je为jmp
01E26000      33C9            xor     ecx, ecx
01E26002      8B07            mov     eax, dword ptr [edi]
01E26004      3918            cmp     dword ptr [eax], ebx
01E26006      74 06           je      short 01E2600E
01E26008      41              inc     ecx
01E26009      83C0 0C         add     eax, 0C

按ALT+M

在00401000下断  
{
看了好此文章,都在401000处下断,但是他们的是.text
但是我的是CODE段,
是不是错在这儿了,
请各位大大们,指点迷津}
然后F9,然后来到这儿
01E3F968      8B12            mov     edx, dword ptr [edx]
01E3F96A      8955 DC         mov     dword ptr [ebp-24], edx
01E3F96D      834D FC FF      or      dword ptr [ebp-4], FFFFFFFF
01E3F971      EB 11           jmp     short 01E3F984
01E3F973      6A 01           push    1
01E3F975      58              pop     eax
01E3F976      C3              retn

下面F8单步

01E3F965      8955 CC         mov     dword ptr [ebp-34], edx
01E3F968      8B12            mov     edx, dword ptr [edx]
01E3F96A      8955 DC         mov     dword ptr [ebp-24], edx
01E3F96D      834D FC FF      or      dword ptr [ebp-4], FFFFFFFF
01E3F971      EB 11           jmp     short 01E3F984
01E3F973      6A 01           push    1
01E3F975      58              pop     eax
01E3F976      C3              retn
01E3F977      8B65 E8         mov     esp, dword ptr [ebp-18]
01E3F97A      834D FC FF      or      dword ptr [ebp-4], FFFFFFFF
01E3F97E      8B7D 08         mov     edi, dword ptr [ebp+8]
01E3F981      8B55 DC         mov     edx, dword ptr [ebp-24]
01E3F984      A1 E400E501     mov     eax, dword ptr [1E500E4]
01E3F989      3150 34         xor     dword ptr [eax+34], edx
01E3F98C      A1 E400E501     mov     eax, dword ptr [1E500E4]
01E3F991      3150 34         xor     dword ptr [eax+34], edx
01E3F994      A1 E400E501     mov     eax, dword ptr [1E500E4]
01E3F999      8B88 80000000   mov     ecx, dword ptr [eax+80]
01E3F99F      3348 5C         xor     ecx, dword ptr [eax+5C]
01E3F9A2      3348 44         xor     ecx, dword ptr [eax+44]
01E3F9A5      030D FC00E501   add     ecx, dword ptr [1E500FC]         ; ResManag.00400000
01E3F9AB      8B17            mov     edx, dword ptr [edi]
01E3F9AD      85D2            test    edx, edx
01E3F9AF      75 18           jnz     short 01E3F9C9
01E3F9B1      FF77 18         push    dword ptr [edi+18]
01E3F9B4      FF77 14         push    dword ptr [edi+14]
01E3F9B7      FF77 10         push    dword ptr [edi+10]
01E3F9BA      8B50 60         mov     edx, dword ptr [eax+60]
01E3F9BD      3350 44         xor     edx, dword ptr [eax+44]
01E3F9C0      3350 1C         xor     edx, dword ptr [eax+1C]
01E3F9C3      2BCA            sub     ecx, edx
01E3F9C5      FFD1            call    ecx  运行到这儿按F7进入,
01E3F9C7      EB 1D           jmp     short 01E3F9E6
01E3F9C9      83FA 01         cmp     edx, 1
01E3F9CC      75 1B           jnz     short 01E3F9E9

全红,用lordPE 转存,用ImportREC1.6修复,但是修复后的不能运行,出现错误

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
点楼留位置谢人
2009-9-3 19:25
0
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是有点问题
天草视频中级班第一课讲得就是这个,第二次下断用 bp CreateThread 找到第一个call ..就是了
这个方法很好使我试了几个都成功了
2009-9-3 20:46
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
magic jmp吧 改je为jmp
你没有在跳完后把代码改会回来,
被壳发现,就失败了
2009-9-4 05:12
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我下个看看试下,谢谢
2009-9-4 13:56
0
游客
登录 | 注册 方可回帖
返回
//