首页
社区
课程
招聘
求助arm脱壳
发表于: 2004-11-1 02:05 6881

求助arm脱壳

2004-11-1 02:05
6881
我的系统是win 2003
  版本(peid0.92)Armadillo 3.00a - 3.61 -> Silicon Realms Toolworks,运行为双进程,软件计数(关机后运行才计数)25次,再运行需要注册码。
  od载入程序,无论如何如何下断也异常退出,后把od改名,现象消失,按照前辈指点的双标准进程壳进行脱壳,找到magic jump后修改,下401000内存访问断点,程序异常终止,无法到达oep。如下:
===================================================
0047E000 > $  60            PUSHAD
0047E001   .  E8 00000000   CALL ACSrv.0047E006
0047E006   $  5D            POP EBP
0047E007   .  50            PUSH EAX
0047E008   .  51            PUSH ECX
0047E009   .  EB 0F         JMP SHORT ACSrv.0047E01A
0047E00B      B9            DB B9
0047E00C   >  EB 0F         JMP SHORT ACSrv.0047E01D
0047E00E   >  B8 EB07B9EB   MOV EAX,EBB907EB
0047E013   .  0F90EB        SETO BL
0047E016   .  08FD          OR CH,BH
0047E018   .  EB 0B         JMP SHORT ACSrv.0047E025
0047E01A   >  F2:           PREFIX REPNE:                            ;  多余的前缀
0047E01B   .^ EB F5         JMP SHORT ACSrv.0047E012
0047E01D   >^ EB F6         JMP SHORT ACSrv.0047E015
0047E01F      F2            DB F2
===================================================
下断BP OpenMutexA
0012F56C   00463CAD  /CALL 到 OpenMutexA
0012F570   001F0001  |Access = 1F0001
0012F574   00000000  |Inheritable = FALSE
0012F578   0012FBAC  \MutexName = "94::DA85812AEA"
0012F57C   0012FEFC
0012F580   00000000
0012F584   00477839  ACSrv.00477839
===============================================
ctrl+G 键入汇编
pushad
PUSHFD
PUSH 12FBAC
XOR EAX,EAX
PUSH EAX
PUSH EAX
CALL KERNEL32.CreateMutexA
POPFD
POPAD
JMP KERNEL32.OpenMutexA
==============================================
下断BP GetModuleHandleA+5
十几次F9得到:
00AF9705    8B0D C04CB200   MOV ECX,DWORD PTR DS:[B24CC0]
00AF970B    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00AF970E    A1 C04CB200     MOV EAX,DWORD PTR DS:[B24CC0]
00AF9713    393C06          CMP DWORD PTR DS:[ESI+EAX],EDI
00AF9716    75 16           JNZ SHORT 00AF972E
00AF9718    8D85 B4FEFFFF   LEA EAX,DWORD PTR SS:[EBP-14C]
00AF971E    50              PUSH EAX
00AF971F    FF15 D0B0B100   CALL DWORD PTR DS:[B1B0D0]               
00AF9725    8B0D C04CB200   MOV ECX,DWORD PTR DS:[B24CC0]
00AF972B    89040E          MOV DWORD PTR DS:[ESI+ECX],EAX
00AF972E    A1 C04CB200     MOV EAX,DWORD PTR DS:[B24CC0]
00AF9733    393C06          CMP DWORD PTR DS:[ESI+EAX],EDI
00AF9736    0F84 AD000000   JE 00AF97E9----------------〉magic jump
00AF973C    33C9            XOR ECX,ECX
00AF973E    8B03            MOV EAX,DWORD PTR DS:[EBX]
00AF9740    3938            CMP DWORD PTR DS:[EAX],EDI
00AF9742    74 06           JE SHORT 00AF974A
00AF9744    41              INC ECX
00AF9745    83C0 0C         ADD EAX,0C
00AF9748  ^ EB F6           JMP SHORT 00AF9740
00AF974A    8BC1            MOV EAX,ECX
00AF974C    C1E0 02         SHL EAX,2
00AF974F    50              PUSH EAX
00AF9750    E8 D9100200     CALL 00B1A82E                           
00AF9755    59              POP ECX
00AF9756    8B0D BC4CB200   MOV ECX,DWORD PTR DS:[B24CBC]
修改为jmp 00af97e9之后下00401000内存访问断点
=================================================
00B1375F    8B04B0          MOV EAX,DWORD PTR DS:[EAX+ESI*4]
00B13762    3341 34         XOR EAX,DWORD PTR DS:[ECX+34]
00B13765    8B0D 8890B200   MOV ECX,DWORD PTR DS:[B29088]      
00B1376B    3341 70         XOR EAX,DWORD PTR DS:[ECX+70]
00B1376E    8B0D 8890B200   MOV ECX,DWORD PTR DS:[B29088]
============================================================
被调试的程序无法处理异常,紧接着进程终止。
怎么到不了oep?请高手指点一二,感谢!

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 1
支持
分享
最新回复 (16)
雪    币: 241
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
试试这方法
http://bbs.pediy.com/showthread.php?s=&threadid=4579
2004-11-1 12:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
哈,你也再退这样的软件啊,我也是啊,不过一时间不知道从哪里入手罢了。
有新的进程还望指教啊!
(说不定,我们在退同一个软件哦!)^_^
2004-11-1 22:28
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 xiluoyou 发布
试试这方法
http://bbs.pediy.com/showthread.php?s=&threadid=4579

谢谢回复,那个方法试过了,没用,程序异常退出,WaitForDebugEvent断点根本断不下来,没反应。不直接修改magic jump在m j处下断修改标志也无法到达oep,结果一样,一时没了办法。。。
2004-11-2 00:49
0
雪    币: 220
活跃值: (55)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
1.在00AF9736修改完magic jmp后,一直F8,最后会看到一个往前跳的大jmp,在他下一句设断,F9,断下后回去把00AF9736还原,否则会出现你的情况
2.找oep:添加欺骗代码,避免产生新进程,如下:
设断点he SetProcessWorkingSetSize断下后再设断点he GetCurrentThreadId
断下后,Ctrl+F9返回,去除这两个断点,向下看,看到那个call edi了没,在按F2那里设个断点
断下后,F7跟入,就来到OEP了(这是yesky1的方法,很好用)
2004-11-2 15:29
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
为什么dump出的程序无法运行(点了没有反应?)
2004-11-2 15:39
0
雪    币: 220
活跃值: (55)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
Armadillo哪有这么简单,有可能加了import table elimination和code splicing,需要继续修复。可以看看这个:
http://bbs.pediy.com/showthread.php?s=&threadid=6179
2004-11-2 16:12
0
雪    币: 241
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 XCyber 发布
1.在00AF9736修改完magic jmp后,一直F8,最后会看到一个往前跳的大jmp,在他下一句设断,F9,断下后回去把00AF9736还原,否则会出现你的情况
2.找oep:添加欺骗代码,避免产生新进程,如下:
设断点he SetProcessWorkingSetSize断下后再设断点he GetCurrentThreadId
断下后,Ctrl+F9返回,去除这两个断点,向下看,看到那个call edi了没,在按F2那里设个断点
断下后,F7跟入,就来到OEP了(这是yesky1的方法,很好用)


试试
2004-11-2 19:40
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 XCyber 发布
1.在00AF9736修改完magic jmp后,一直F8,最后会看到一个往前跳的大jmp,在他下一句设断,F9,断下后回去把00AF9736还原,否则会出现你的情况
2.找oep:添加欺骗代码,避免产生新进程,如下:
设断点he SetProcessWorkingSetSize断下后再设断点he GetCurrentThreadId
断下后,Ctrl+F9返回,去除这两个断点,向下看,看到那个call edi了没,在按F2那里设个断点
断下后,F7跟入,就来到OEP了(这是yesky1的方法,很好用)

方法1试过了,没用,方法2没试过,原因是软件已经过期了,需要注册码。郁闷,据说每注册码没法脱了。。。。:o :o
2004-11-3 01:30
0
雪    币: 220
活跃值: (55)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
用EVA Cleaner清除arma信息,再来:D
2004-11-3 09:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我也是在搞这破玩意,是ASProtect 1.3加了壳,再用Armadillo 3.01加30次限制壳的。
2004-11-6 20:18
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 池龙 发布
我也是在搞这破玩意,是ASProtect 1.3加了壳,再用Armadillo 3.01加30次限制壳的。

有空交流啊,我已经搞定了,:) arm的壳我没去脱了,我托了aspr的壳然后破解了。
2004-11-7 00:45
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 XCyber 发布
用EVA Cleaner清除arma信息,再来:D

谢谢你提供的方法。
2004-11-7 16:51
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我也在退一个Armadillo 3.01壳,可是花了好几天了,也没有一点进展。
2004-11-8 10:09
0
雪    币: 220
活跃值: (55)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
15
传上来看看
2004-11-8 17:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
我也遇到和楼主一样的问题,希望前辈们指点指点,
感激不尽!
2005-11-14 10:29
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
Armadillo 通用脱壳方法就是,挂起父进程方法去DUMP。常规双变单去获取IAT,可以对付所有任何类型的ARM。
DUMP也可以用插件,或者其他工具,第一步都可以省去。时间大为缩小。

后面其余的修复用现在的工具就可以完成了。
2005-11-14 10:50
0
游客
登录 | 注册 方可回帖
返回
//