首页
社区
课程
招聘
[求助]Armadillo脱壳请教
发表于: 2006-9-21 10:53 14185

[求助]Armadillo脱壳请教

2006-9-21 10:53
14185
PEID查看为Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks 双进程

我的步骤:
设置Ollydbg忽略所有异常,用IsDebug 1.4插件去掉Ollydbg的调试器标志。

OD 载入

00433049 >/$  55            PUSH EBP
0043304A  |.  8BEC          MOV EBP,ESP
0043304C  |.  6A FF         PUSH -1
0043304E  |.  68 48824500   PUSH 全能王2_.00458248
00433053  |.  68 902A4300   PUSH 全能王2_.00432A90                      ;  SE 处理程序安装
00433058  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]

下断点BP OpenMutexA

F9运行中断后,看堆栈

0012F5B4   00429D8C  /CALL 到 OpenMutexA 来自 全能王2_.00429D86
0012F5B8   001F0001  |Access = 1F0001
0012F5BC   00000000  |Inheritable = FALSE
0012F5C0   0012FBF4  \MutexName = "E30::DA92C73110"

在CPU窗口中 Ctrl+G:401000  键入以下代码:

00401000    60              PUSHAD
00401001    9C              PUSHFD
00401002    68 F4FB1200     PUSH 12FBF4                              ; ASCII "E30::DA92C73110"(堆栈里看到的值)
00401007    33C0            XOR EAX,EAX
00401009    50              PUSH EAX
0040100A    50              PUSH EAX
0040100B    E8 B5A6A577     CALL kernel32.CreateMutexA
00401010    9D              POPFD
00401011    61              POPAD
00401012  - E9 7A13A677     JMP kernel32.OpenMutexA

在 401000 处点鼠标右键 "此处为新 EIP",F9运行,再次中断在OpenMutexA处,F2取消断点。此时Ctrl+G:401000 撤销刚才的修改的代码,使代码还原。

下断点 HE GetModuleHandleA

按F9运行中断后,看堆栈:

0012ECE8   77C059FC  /CALL 到 GetModuleHandleA 来自 msvcrt.77C059F6
0012ECEC   77BE31AC  \pModule = "kernel32.dll"
0012ECF0   77C2CA20  msvcrt.77C2CA20

0012EDAC   772A8663  /CALL 到 GetModuleHandleA 来自 772A865D
0012EDB0   772AF8FC  \pModule = "KERNEL32.DLL"

0012ECD4   770FB124  /CALL 到 GetModuleHandleA 来自 OLEAUT32.770FB11E
0012ECD8   771722E4  \pModule = "KERNEL32.DLL"
0012ECDC   770FAD56  返回到 OLEAUT32.770FAD56 来自 OLEAUT32.770FB119
0012ECE0   77172080  OLEAUT32.77172080

0012ECD0   770FB124  /CALL 到 GetModuleHandleA 来自 OLEAUT32.770FB11E
0012ECD4   771722E4  \pModule = "KERNEL32.DLL"
0012ECD8   770FADAC  返回到 OLEAUT32.770FADAC 来自 OLEAUT32.770FB119
0012ECDC   77172064  OLEAUT32.77172064

0012F560   00429073  /CALL 到 GetModuleHandleA 来自 全能王2_.0042906D
0012F564   00000000  \pModule = NULL

0012D28C   00A9519B  /CALL 到 GetModuleHandleA 来自 00A95195
0012D290   0012D3C8  \pModule = "kernel32.dll"

0012D28C   00A9519B  /CALL 到 GetModuleHandleA 来自 00A95195
0012D290   0012D3C8  \pModule = "user32.dll"

0012D28C   00A9519B  /CALL 到 GetModuleHandleA 来自 00A95195
0012D290   0012D3C8  \pModule = "MSVBVM60.DLL"

0012CB90   73391BB1  /CALL 到 GetModuleHandleA 来自 73391BAB
0012CB94   73393D98  \pModule = "kernel32.dll"
0012CB98   73391B50  返回到 73391B50 来自 73391B7C

0012CB84   73392848  /CALL 到 GetModuleHandleA 来自 73392842
0012CB88   73393DC4  \pModule = "KERNEL32"

0012CB7C   733931E9  /CALL 到 GetModuleHandleA 来自 733931E3
0012CB80   00000000  \pModule = NULL

0012D28C   00A9519B  /CALL 到 GetModuleHandleA 来自 00A95195
0012D290   0012D3C8  \pModule = "advapi32.dll"

再运行程序就出错了。用SHIFT+F9也不动
请问一下上面几个是不是有返回点?是哪个?请帮帮忙!谢谢。。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (28)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
帮帮忙吧..
2006-9-21 14:30
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
3
使用 Armadillo Find Protected 查看是何种保护方式
2006-9-21 14:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
======== 21-09-2006 15:19:36 ========
C:\Documents and Settings\Administrator\桌面\QuanNengWang2.2\全能王2.2.exe
★ 目标为Armadillo保护
★ 特征识别 = D038D028
保护系统级别为 (标准版)
◆所用到的保护模式有◆
屏蔽调试器
双进程模式
【备份密钥设置】
无任何注册表操作
【程序压缩设置】
最好/最慢地压缩方式
【其它保护设置】
屏蔽多份文件拷贝
关闭监视进程
2006-9-21 15:20
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
用Armadillo.Find.Protected.V1.4.Special.Editing.for.UnPacK.cN.By.vel新版
看去看雪论坛精华合集中找Armadillo V3.6以下版本的脱壳教程

也可以试试dilloDIE.V1.6自动脱壳
2006-9-21 15:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
FLY大侠..帮帮忙吧..
2006-9-21 15:29
0
雪    币: 359
活跃值: (424)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个全能王好像是最新的红警外挂,是要可以联网的,且必须要知道用户跟密码

最初的用户GUEST 只能用几天而已!.
2006-9-22 12:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
对呀对呀。。
就是这个。。
其实只要上能上网就可以用。。
主要是想学着脱脱壳
搞不定。。
我是一只菜菜菜菜鸟~~~~
想要飞去怎么飞也飞不高。。~~~
2006-9-22 16:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我是新学破解程序..
这是我第一个脱壳的程序.
可是怎么也脱不掉..
哪位大侠能不能脱下试试..
脱完后给我个教程或者过程好吗?

程序下载地址:http://hefei.katsuworld.com/QuanNengWang2.2.rar
红警全能王2.2

谢谢了.
2006-9-22 21:23
0
雪    币: 229
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
既然是新手就别动arm了,先脱点简单的壳,不要为了脱壳而脱壳(个人观点)
2006-9-22 21:46
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
11
dilloDIE.V1.6 脱不了?
2006-9-22 22:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
是的..dillodie1.6 脱不了..

FI查看是armadillo 3.01
我参考论坛上armadillo扫盲的文章 ALT+M 在401000处设内存访问断点..然后
F9 程序就运行..SHIFT+F9也不行..armadillo 壳好郁闷啊

那新手找什么壳练习比较好?

我跟着刹那恍惚的视频教程一步一步做的练习也不行..
不知道怎么会事..
2006-9-22 22:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
设置Ollydbg忽略所有异常,用IsDebug 1.4插件去掉Ollydbg的调试器标志。

OD 载入

00433049 >/$  55            PUSH EBP
0043304A  |.  8BEC          MOV EBP,ESP
0043304C  |.  6A FF         PUSH -1
0043304E  |.  68 48824500   PUSH 全能王2_.00458248
00433053  |.  68 902A4300   PUSH 全能王2_.00432A90                      ;  SE 处理程序安装
00433058  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]

分离父子进程:
下断点BP OpenMutexA

F9运行中断后,看堆栈:

0012F5B4   00429D8C  /CALL 到 OpenMutexA 来自 全能王2_.00429D86
0012F5B8   001F0001  |Access = 1F0001
0012F5BC   00000000  |Inheritable = FALSE
0012F5C0   0012FBF4  \MutexName = "40C::DA92C73110"

在CPU窗口中 Ctrl+G:401000  键入以下代码:

00401000    60              PUSHAD
00401001    9C              PUSHFD
00401002    68 F4FB1200     PUSH 12FBF4                              ; ASCII "40C::DA92C73110"
00401007    33C0            XOR EAX,EAX
00401009    50              PUSH EAX
0040100A    50              PUSH EAX
0040100B    E8 2FD9407C     CALL kernel32.CreateMutexA
00401010    9D              POPFD
00401011    61              POPAD
00401012  - E9 04DA407C     JMP kernel32.OpenMutexA

60 9C 68 F4 FB 12 00 33 C0 50 50 E8 2F D9 40 7C 9D 61 E9 04 DA 40 7C 90

在 401000 处点鼠标右键 "此处为新 EIP",F9运行,再次中断在OpenMutexA处,清除 OpenMutexA 断点.此时Ctrl+G:401000 撤销刚才的修改

的代码,使代码还原。OK,父进程分离完毕!

2 避开IAT加密

下断点 HE GetModuleHandleA
F9运行

7C80B6A1 >  8BFF            MOV EDI,EDI                                        \\删除硬件断点
7C80B6A3    55              PUSH EBP
7C80B6A4    8BEC            MOV EBP,ESP
7C80B6A6    837D 08 00      CMP DWORD PTR SS:[EBP+8],0
7C80B6AA    74 18           JE SHORT kernel32.7C80B6C4                        \\下断,F2

按F9,注意堆栈
****************

0012ED48  /0012ED64
0012ED4C  |77F45BD8  返回到 77F45BD8 来自 kernel32.GetModuleHandleA
0012ED50  |77F4501C  ASCII "KERNEL32.DLL"

0012E53C  /0012E574
0012E540  |5D175394  返回到 5D175394 来自 kernel32.GetModuleHandleA
0012E544  |5D1753E0  ASCII "kernel32.dll"

0012F55C  /0012F5BC
0012F560  |00429073  返回到 全能王2_.00429073 来自 kernel32.GetModuleHandleA

0012D28C  |00A9519B  返回到 00A9519B 来自 kernel32.GetModuleHandleA
0012D290  |0012D3C8  ASCII "kernel32.dll"

0012D288  /0012D514
0012D28C  |00A9519B  返回到 00A9519B 来自 kernel32.GetModuleHandleA
0012D290  |0012D3C8  ASCII "user32.dll"

0012D288  /0012D514
0012D28C  |00A9519B  返回到 00A9519B 来自 kernel32.GetModuleHandleA
0012D290  |0012D3C8  ASCII "MSVBVM60.DLL"

0012CB4C  /0012CB94
0012CB50  |73391BC1  返回到 73391BC1 来自 kernel32.GetModuleHandleA
0012CB54  |73393DBC  ASCII "kernel32.dll"
0012CB58  |73391B60  返回到 73391B60 来自 73391B8C

0012CB44  |73392858  返回到 73392858 来自 kernel32.GetModuleHandleA
0012CB48  |73393DE8  ASCII "KERNEL32"
0012CB4C  |73392808  返回到 73392808 来自 7339284D
0012CB50  |733927D9  返回到 733927D9
0012CB54  |73391C66  返回到 73391C66 来自 733927CE
0012CB58  |73391B60  返回到 73391B60 来自 73391B8C

0012CB38  /0012CB54
0012CB3C  |73393208  返回到 73393208 来自 kernel32.GetModuleHandleA
0012CB40  |00000000
0012CB44  |73393172  返回到 73393172 来自 733931F7

0012D288  /0012D514
0012D28C  |00A9519B  返回到 00A9519B 来自 kernel32.GetModuleHandleA
0012D290  |0012D3C8  ASCII "advapi32.dll"

0012F018   00AA5FA4  返回到 00AA5FA4 来自 00AA64EC

F9 程序中止

**************************************************
我选择在这个地方返回:
0012D28C  |00A9519B  返回到 00A9519B 来自 kernel32.GetModuleHandleA
0012D290  |0012D3C8  ASCII "kernel32.dll"

返回到这里:

00A9519B    8B0D 80D7AB00   MOV ECX,DWORD PTR DS:[ABD780]
00A951A1    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00A951A4    A1 80D7AB00     MOV EAX,DWORD PTR DS:[ABD780]
00A951A9    393C06          CMP DWORD PTR DS:[ESI+EAX],EDI
00A951AC    75 16           JNZ SHORT 00A951C4
00A951AE    8D85 B4FEFFFF   LEA EAX,DWORD PTR SS:[EBP-14C]
00A951B4    50              PUSH EAX
00A951B5    FF15 B850AB00   CALL DWORD PTR DS:[AB50B8]               ; kernel32.LoadLibraryA
00A951BB    8B0D 80D7AB00   MOV ECX,DWORD PTR DS:[ABD780]
00A951C1    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00A951C4    A1 80D7AB00     MOV EAX,DWORD PTR DS:[ABD780]
00A951C9    393C06          CMP DWORD PTR DS:[ESI+EAX],EDI
00A951CC    0F84 AD000000   JE 00A9527F                                        \\修改为JMP 00A9527F
00A951D2    33C9            XOR ECX,ECX
00A951D4    8B03            MOV EAX,DWORD PTR DS:[EBX]
00A951D6    3938            CMP DWORD PTR DS:[EAX],EDI
00A951D8    74 06           JE SHORT 00A951E0                               
00A951DA    41              INC ECX
00A951DB    83C0 0C         ADD EAX,0C
00A951DE  ^ EB F6           JMP SHORT 00A951D6
00A951E0    8BC1            MOV EAX,ECX
00A951E2    C1E0 02         SHL EAX,2

寻找入口点

继续下断点 bp GetCurrentThreadId

按F9运行中断后,看堆栈:

0012CB4C   73391E36  /CALL 到 GetCurrentThreadId 来自 73391E30

0012CB2C   7339353F  /CALL 到 GetCurrentThreadId 来自 73393539

0012F018   00AA5FA4  返回到 00AA5FA4 来自 00AA64EC
程序终止

有大侠可以指点下吗?
2006-9-28 00:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
大侠们指点下啊...
谢谢了..
2006-9-28 10:07
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
如果IAT都解了 就可以复制下来
2006-9-28 21:00
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
确实有点复杂
我试了也没能脱掉
后面完全乱了!
2006-10-16 17:05
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
在Majic Jump改jpm后
下内存断点在425000处可断下 可能是oep
但是修复没有成功,哪位高人看下!
2006-10-16 19:03
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
还是没有搞定啊!
哪位高人指点一下
只需要关键点就可以了。
这个壳缠了我两周了!郁闷!
请热心的指点一下!
谢谢!
2006-10-18 23:55
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
又试了几种方法
还是一无进展!
还请高人指点一下!
这个程序已经过期无效了.
只是想把它脱壳,其他Armadillo加的壳都可以脱去,唯独这个有点怪.
请教各位了!
2006-10-21 15:40
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
还是没有搞定!
请高人指点一二好吗。
我到Majic Jump后就处理不对了!
看雪精华1-7全看完,都处理不了啊!
跪求赐教!!!
2006-10-25 19:24
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
bjs
21
兄弟,你跟我遇到的情况是一样的,我也是一个带KEY的arm3.78的壳,我的版本还要高一点,不过已经被我搞掉了,,方法如下:

到你程序死掉的最后一步,马上复制可执行文件,然后用dillodie1.6进行脱壳,,,我的已经脱掉了,不知道你的行不行,,如果有需要我帮忙的加我QQ445207837,注明"破解"就行,共同进步!!!
2006-10-25 23:14
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
谢谢楼上的兄弟!
你的方法试了,不行!脱出的指针全部无效。
已经加你了,请认可。
多多交流,共同提高!
2006-10-26 14:38
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
已搞定!
封帖!
自我开心一个!
呵呵!!!
2006-10-27 19:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
怎么搞定的,讲一下好吗?
2006-10-28 10:25
0
雪    币: 245
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
最初由 dqtlk 发布
怎么搞定的,讲一下好吗?
2007-1-24 03:03
0
游客
登录 | 注册 方可回帖
返回
//