首页
社区
课程
招聘
自己加的幻影2.33+Armadillo标准壳记事本 问题在哪?
发表于: 2004-12-24 21:58 4816

自己加的幻影2.33+Armadillo标准壳记事本 问题在哪?

2004-12-24 21:58
4816
自己加的幻影2.33+Armadillo标准壳应该如何脱?

先加的幻影2.33,然后加的Armadillo标准壳。主要是想探讨脱壳方法

自己脱了n次都不成功,特请教大侠。

我是先脱Armadillo

OD载入程序,插件自动隐藏OD,忽略所有异常
010ADD5D n>/$  55                push ebp //外壳入口
010ADD5E   |.  8BEC              mov ebp,esp
010ADD60   |.  6A FF             push -1
010ADD62   |.  68 309A0C01       push notepad.010C9A30
010ADD67   |.  68 40D70A01       push notepad.010AD740             ;  SE handler installation
010ADD6C   |.  64:A1 00000000    mov eax,dword ptr fs:[0]
010ADD72   |.  50                push eax
010ADD73   |.  64:8925 00000000  mov dword ptr fs:[0],esp
010ADD7A   |.  83EC 58           sub esp,58

命令行下断点 BP OpenMutexA,F9运行。

中断
7C80EC1B k>  8BFF                mov edi,edi  //
7C80EC1D     55                  push ebp
7C80EC1E     8BEC                mov ebp,esp
7C80EC20     51                  push ecx
7C80EC21     51                  push ecx
7C80EC22     837D 10 00          cmp dword ptr ss:[ebp+10],0

堆栈内容
0013D7A4    001F0001  |Access = 1F0001
0013D7A8    00000000  |Inheritable = FALSE
0013D7AC    0013DDE0  \MutexName = "F04::DADA53A618"
0013D7B0    0013FF2C
0013D7B4    00000000
0013D7B8    7FFD3000

找一块程序领空空地址,写入一些欺骗Arm的代码。

Ctrl+G 1001000

001001000    0000            ADD BYTE PTR DS:[EAX],AL  //都是空地址。
.
.
.

OD直接双击修改,填入以下代码。

01001000     60                  pushad
01001001     9C                  pushfd
01001002     68 E0DD1300         push 13DDE0                       ; ASCII "E60::DADA53A618"
01001007     33C0                xor eax,eax
01001009     50                  push eax
0100100A     50                  push eax
0100100B     E8 2FDB807B         call kernel32.CreateMutexA
01001010     9D                  popfd
01001011     61                  popad
01001012   - E9 04DC807B         jmp kernel32.OpenMutexA
01001017     90                  nop

.将当前的 Eip 7C80EC1B 切换到 1001000 来。

点右键 选在此处新建 Eip ,看到Eip 变为 401000

F9运行。

中断
7C80EC1B k>  8BFF                mov edi,edi //双击它或F2清除断点
7C80EC1D     55                  push ebp
7C80EC1E     8BEC                mov ebp,esp
7C80EC20     51                  push ecx
7C80EC21     51                  push ecx
7C80EC22     837D 10 00          cmp dword ptr ss:[ebp+10],0

找 magic jmp 命令行下断点,bp GetModuleHandleA

7C80B529 k>  8BFF                mov edi,edi//去掉断点,改为硬件执行
7C80B52B     55                  push ebp
7C80B52C     8BEC                mov ebp,esp
7C80B52E     837D 08 00          cmp dword ptr ss:[ebp+8],0
7C80B532     74 18               je short kernel32.7C80B54C

F9运行,多次硬件中断,注意堆栈值。

5次F9提示一个非法指令错误,Shift+F9忽略。

堆栈内容
00138A84    00BC9900  /CALL 到 GetModuleHandleA 来自 00BC98FA
00138A88    00138BC0  \pModule = "kernel32.dll"
点调试菜单,里面清除硬件断点。

Ctrl+F9 返回。

00BC98FA     FF15 CCD0BE00       call dword ptr ds:[BED0CC]        ; kernel32.GetModuleHandleA
00BC9900     8B0D 0881BF00       mov ecx,dword ptr ds:[BF8108]
00BC9906     89040E              mov dword ptr ds:[esi+ecx],eax
00BC9909     A1 0881BF00         mov eax,dword ptr ds:[BF8108]
00BC990E     393C06              cmp dword ptr ds:[esi+eax],edi
00BC9911     75 16               jnz short 00BC9929
00BC9913     8D85 B4FEFFFF       lea eax,dword ptr ss:[ebp-14C]
00BC9919     50                  push eax
00BC991A     FF15 D4D0BE00       call dword ptr ds:[BED0D4]        ; kernel32.LoadLibraryA
00BC9920     8B0D 0881BF00       mov ecx,dword ptr ds:[BF8108]
00BC9926     89040E              mov dword ptr ds:[esi+ecx],eax
00BC9929     A1 0881BF00         mov eax,dword ptr ds:[BF8108]
00BC992E     393C06              cmp dword ptr ds:[esi+eax],edi
00BC9931     0F84 AD000000       je 00BC99E4===================//这是magic jmp,我改jmp
00BC9937     33C9                xor ecx,ecx
00BC9939     8B03                mov eax,dword ptr ds:[ebx]

清除所有断点。在401000段下内存断点,按F9

问题来了,程序不能跳转到oep!!!
od下方显示为 c:\windows\system32\msctf.dll
然后程序长时间都没反应了,不能到oep,不能dump,该怎么办???
附件:notepad.part1.rar 附件:notepad.part2.rar

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (11)
雪    币: 213
活跃值: (81)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
F.W.Y?
2004-12-25 01:06
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
3
Armadillo 是双进程?
不用改Armadillo的magic jmp

切换为单进程后想办法去脱里面的幻影

记事本是98的?如果是XP的则不是在401000段下内存访问断点
在程序的第2个段
2004-12-25 01:13
0
雪    币: 159
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是xp下加的,绝对是标准壳!
fly大侠能写一下吗,如何脱!!
2004-12-25 01:21
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
你先脱Armadillo标准壳
再脱幻影
两个都轻松脱掉这个自然没问题

谁也不可能有时间把论坛里所有帖子的附件都脱一次
2004-12-25 17:39
0
雪    币: 159
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
希望大侠能继续指点!!!
2004-12-25 19:40
0
雪    币: 411
活跃值: (1160)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
7
文章都有,你先分单个壳加密练习,可以脱了再脱组合壳,重复的文章浪费大家时间.
2004-12-25 19:56
0
雪    币: 239
活跃值: (220)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
我好像在以前的新兵论坛写过一个同类的文,你搜一下!
2004-12-26 10:00
0
雪    币: 159
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼上的朋友,已经找不到了!!
2004-12-26 10:31
0
雪    币: 225
活跃值: (173)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
单层 arm 壳也搞不定,跑飞,
2004-12-26 13:46
0
雪    币: 159
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
最初由 lihai3330 发布
希望大侠能继续指点!!!
2004-12-27 20:38
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
12
你幻影加壳的记事本脱了?
Armadillo加壳的记事本脱了?

还是如第5楼所言,上面2个加壳类型你全部轻松搞定,再来脱这个
2004-12-27 20:48
0
游客
登录 | 注册 方可回帖
返回
//