首页
社区
课程
招聘
[求助]奇怪的Armadillo 脱壳问题
2006-6-9 19:58 3570

[求助]奇怪的Armadillo 脱壳问题

2006-6-9 19:58
3570
奇怪的Armadillo 脱壳问题

我遇到一个软件 (软件见下面的连接)用peid扫描后发现是Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks的壳

用od加载到:
00519000 >  60              PUSHAD
00519001    E8 00000000     CALL MediaEdu.00519006
00519006    5D              POP EBP
00519007    50              PUSH EAX
00519008    51              PUSH ECX
00519009    0FCA            BSWAP EDX
0051900B    F7D2            NOT EDX
0051900D    9C              PUSHFD
0051900E    F7D2            NOT EDX
00519010    0FCA            BSWAP EDX

然后用HE GetModuleHandleA+5下断,然后shift+F9断到

7C80B52E    837D 08 00      CMP DWORD PTR SS:[EBP+8],0
7C80B532    74 18           JE SHORT kernel32.7C80B54C
7C80B534    FF75 08         PUSH DWORD PTR SS:[EBP+8]
7C80B537    E8 682D0000     CALL kernel32.7C80E2A4
7C80B53C    85C0            TEST EAX,EAX
7C80B53E    74 08           JE SHORT kernel32.7C80B548
7C80B540    FF70 04         PUSH DWORD PTR DS:[EAX+4]
7C80B543    E8 F4300000     CALL kernel32.GetModuleHandleW
7C80B548    5D              POP EBP
7C80B549    C2 0400         RETN 4
7C80B54C    64:A1 18000000  MOV EAX,DWORD PTR FS:[18]
7C80B552    8B40 30         MOV EAX,DWORD PTR DS:[EAX+30]
7C80B555    8B40 08         MOV EAX,DWORD PTR DS:[EAX+8]
7C80B558  ^ EB EE           JMP SHORT kernel32.7C80B548

看到堆叠信息:

001294FC  /0012EC44
00129500  |00C26DF3  返回到 00C26DF3 来自 kernel32.GetModuleHandleA
00129504  |00C3BC1C  ASCII "kernel32.dll"
00129508  |00C3CEC4  ASCII "VirtualAlloc"
0012950C  |00C3FA98
00129510  |7C9210ED  ntdll.RtlLeaveCriticalSection

按 两下shift+F9后堆叠变成:

00129260  /00129500
00129264  |00C15CE1  返回到 00C15CE1 来自 kernel32.GetModuleHandleA
00129268  |001293B4  ASCII "kernel32.dll"

用isdebugpresent隐藏,然后在调试选项中异常中去掉
自定义的忽略
后用alt+F9返回

到:
00C15CE1    8B0D AC40C400   MOV ECX,DWORD PTR DS:[C440AC]
00C15CE7    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00C15CEA    A1 AC40C400     MOV EAX,DWORD PTR DS:[C440AC]
00C15CEF    391C06          CMP DWORD PTR DS:[ESI+EAX],EBX
00C15CF2    75 16           JNZ SHORT 00C15D0A
00C15CF4    8D85 B4FEFFFF   LEA EAX,DWORD PTR SS:[EBP-14C]
00C15CFA    50              PUSH EAX
00C15CFB    FF15 BC62C300   CALL DWORD PTR DS:[C362BC]               ; kernel32.LoadLibraryA
00C15D01    8B0D AC40C400   MOV ECX,DWORD PTR DS:[C440AC]
00C15D07    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00C15D0A    A1 AC40C400     MOV EAX,DWORD PTR DS:[C440AC]
00C15D0F    391C06          CMP DWORD PTR DS:[ESI+EAX],EBX
00C15D12    0F84 2F010000   JE 00C15E47                                :MAGIC JUMP  “改成jmp跟入”
00C15D18    33C9            XOR ECX,ECX
00C15D1A    8B07            MOV EAX,DWORD PTR DS:[EDI]
00C15D1C    3918            CMP DWORD PTR DS:[EAX],EBX

去到硬件断点   00C15D12    0F84 2F010000   JMP 00C15E47  跟入后到:

00C15E50    83C6 04         ADD ESI,4
00C15E53    395F FC         CMP DWORD PTR DS:[EDI-4],EBX
00C15E56  ^ 0F85 49FEFFFF   JNZ 00C15CA5                                到这里:
00C15E5C    EB 03           JMP SHORT 00C15E61                                “在这下断运行一下shift+F9,去到断点”
00C15E5E    D6              SALC
00C15E5F    D6              SALC
00C15E60    8F              ???                                      ; 未知命令
00C15E61    8B0D 6C8FC400   MOV ECX,DWORD PTR DS:[C48F6C]
00C15E67    3BCB            CMP ECX,EBX

返回到MAGIC JUMP  取消修改  设置内存断点 运行shift+F9

00C2F68F    8B12            MOV EDX,DWORD PTR DS:[EDX]                断到这里,
00C2F691    8955 DC         MOV DWORD PTR SS:[EBP-24],EDX
00C2F694    834D FC FF      OR DWORD PTR SS:[EBP-4],FFFFFFFF
00C2F698    EB 11           JMP SHORT 00C2F6AB
00C2F69A    6A 01           PUSH 1
00C2F69C    58              POP EAX
00C2F69D    C3              RETN
00C2F69E    8B65 E8         MOV ESP,DWORD PTR SS:[EBP-18]
00C2F6A1    834D FC FF      OR DWORD PTR SS:[EBP-4],FFFFFFFF
00C2F6A5    8B7D 08         MOV EDI,DWORD PTR SS:[EBP+8]
00C2F6A8    8B55 DC         MOV EDX,DWORD PTR SS:[EBP-24]
00C2F6AB    A1 E400C400     MOV EAX,DWORD PTR DS:[C400E4]
00C2F6B0    3190 88000000   XOR DWORD PTR DS:[EAX+88],EDX
00C2F6B6    A1 E400C400     MOV EAX,DWORD PTR DS:[C400E4]
00C2F6BB    3190 88000000   XOR DWORD PTR DS:[EAX+88],EDX
00C2F6C1    A1 E400C400     MOV EAX,DWORD PTR DS:[C400E4]

00C2F6F7   /EB 20           JMP SHORT 00C2F719
00C2F6F9   |83FA 01         CMP EDX,1
00C2F6FC   |75 1E           JNZ SHORT 00C2F71C
00C2F6FE   |FF77 04         PUSH DWORD PTR DS:[EDI+4]
00C2F701   |FF77 08         PUSH DWORD PTR DS:[EDI+8]
00C2F704   |6A 00           PUSH 0
00C2F706   |FF77 0C         PUSH DWORD PTR DS:[EDI+C]
00C2F709   |8B90 90000000   MOV EDX,DWORD PTR DS:[EAX+90]
00C2F70F   |3350 40         XOR EDX,DWORD PTR DS:[EAX+40]
00C2F712   |3350 04         XOR EDX,DWORD PTR DS:[EAX+4]
00C2F715   |2BCA            SUB ECX,EDX
00C2F717   |FFD1            CALL ECX            ; MediaEdu.0045C7B4   应该是OEP 我在这里跟入
00C2F719   \8945 E4         MOV DWORD PTR SS:[EBP-1C],EAX
00C2F71C    8B45 E4         MOV EAX,DWORD PTR SS:[EBP-1C]

0045C7B4    55              PUSH EBP                  应该是OEP,我在这里用工具保存
0045C7B5    8BEC            MOV EBP,ESP
0045C7B7    6A FF           PUSH -1
0045C7B9    68 D8FF4900     PUSH MediaEdu.0049FFD8
0045C7BE    68 D0BC4500     PUSH MediaEdu.0045BCD0
0045C7C3    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
0045C7C9    50              PUSH EAX
0045C7CA    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0045C7D1    83EC 58         SUB ESP,58
0045C7D4    53              PUSH EBX
0045C7D5    56              PUSH ESI
0045C7D6    57              PUSH EDI
0045C7D7    8965 E8         MOV DWORD PTR SS:[EBP-18],ESP
0045C7DA    FF15 50E34800   CALL DWORD PTR DS:[48E350]               ; kernel32.GetVersion
0045C7E0    33D2            XOR EDX,EDX
0045C7E2    8AD4            MOV DL,AH

保存修复后用peid扫描还有壳

Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks

上网找资料 找到要用BP OpenMutexA下断,但是我下断后F9程序并没有被断掉

希望大家帮帮忙~

最好给我一点破解该软件的说明,谢谢大家拉

软件下载地址:
http://www.31598.com/download/e_Class.zip

黑马多媒体电子教室 7.1

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 224
活跃值: (75)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
xiaoboy 2 2006-6-9 20:00
2
0
保存修复后用peid扫描还有壳

Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks
这个时正常现象
雪    币: 611
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sdwsjkl 2006-6-9 20:07
3
0
但是文件的头和Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks

的一样呀?

能教教我这样的软件怎么破解吗?
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
Winter-Night 5 2006-6-9 20:19
4
0
改连接器版本
雪    币: 896
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2006-6-9 21:54
5
0
用PETools->PE Ediotr打开脱壳后文件
->Optional Header
修改Major Linker Version、Minor Linker Version为00 00
雪    币: 611
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sdwsjkl 2006-6-9 22:37
6
0
脱壳后用od加载来到:

0045C7B4 >  55              PUSH EBP
0045C7B5    8BEC            MOV EBP,ESP
0045C7B7    6A FF           PUSH -1
0045C7B9    68 D8FF4900     PUSH dumped1_.0049FFD8
0045C7BE    68 D0BC4500     PUSH dumped1_.0045BCD0
0045C7C3    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
0045C7C9    50              PUSH EAX
0045C7CA    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0045C7D1    83EC 58         SUB ESP,58
0045C7D4    53              PUSH EBX
0045C7D5    56              PUSH ESI
0045C7D6    57              PUSH EDI
0045C7D7    8965 E8         MOV DWORD PTR SS:[EBP-18],ESP
0045C7DA    FF15 50236100   CALL DWORD PTR DS:[<&kernel32.#475>]     ; kernel32.GetVersion
0045C7E0    33D2            XOR EDX,EDX
0045C7E2    8AD4            MOV DL,AH

我看这个非常象Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks

但是大家都说可能是peid的误报,但是为什么一样那?

软件下载地址:
http://www.31598.com/download/e_Class.zip

黑马多媒体电子教室 7.1

软件还是无法调试

  
雪    币: 611
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sdwsjkl 2006-6-10 23:32
7
0
能说明一下怎么调试吗?
游客
登录 | 注册 方可回帖
返回