首页
社区
课程
招聘
脱armadillo3.01-3.60a壳(VB)后修复IAT的问题。
发表于: 2005-4-2 10:52 6912

脱armadillo3.01-3.60a壳(VB)后修复IAT的问题。

2005-4-2 10:52
6912
这几天在学脱armadillo壳,我不知道这个armadillo壳的版本,不过用peid0.93检测是3.01-3.60a,我按照论坛里各种脱的方法去做,oep找到了,自身代码也强制解压完成了,并且用lordpe将第二个同名进程dump出来了,可是下一步用od加载dump出来的文件时却说“无法运行文件××××”,这是怎么回事啊?该怎么做呢?谢谢!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (21)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不好意思,原来是我的lordpe的脱壳设置的问题,现在我已经能加载了,现在正继续脱壳中,也不知道能不能成功,要是还有问题再来请教各位高手,真的很对不起。
2005-4-2 11:10
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
现在真的有问题了,我按照“菜鸟手动脱Armadillo CopyMem-ll +Debug-Blocker壳全过程,超详细。。。 ”的方法脱了壳,可是好像加载后没有到程序入口oep,我F8一阵后程序就终止了,真知道问题在哪里?程序的真实oep是40260c,可用OD加载时开头却是46A000,怪了?
2005-4-2 11:30
0
雪    币: 2199
活跃值: (1975)
能力值: ( LV12,RANK:810 )
在线值:
发帖
回帖
粉丝
4
如果仅仅是入口问题可以用LordPE修改oep为40260c
2005-4-3 08:45
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢,我现在改过来了,我发现这个程序是用VB写的,我在修复IAT的时候发现不能修复,按照“菜鸟手动脱Armadillo CopyMem-ll +Debug-Blocker壳全过程,超详细。。。 ”的方法import rec找到的全是不能修复的。另外,在强制解压代码完成后,我用wdasm反编译已经能看到GDI32.DLL、KERNEL32.DLL、USER32.DLL的输入函数了,但没有其它的输入函数。
2005-4-3 12:49
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
原来这个程序还用了乱序IAT,我晕哦,这个壳是个什么版本的armadillo啊,双进程+CopyMem-ll +Debug-Blocker,真的头有点大了!
2005-4-3 13:29
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
各位高手,谁能给我一点提示,现有的已脱壳文件已经有部分输入表了,我现在该怎么来修复剩余的呢?用import REC又只能找到另外的部分输入表,而且还不能修复(明明是MSVBVM60.DLL的)。期待高手解答。
2005-4-3 15:02
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我用wdasm反编译了一下另外用VB写的程序,原来IMPORT表里只有msvbvm60.dll的,现在问题又来了,我用import rec不能识别明明是msvbvm60.dll的函数,我该怎么来修复呢,不会叫我一个一个的去手动改吧?
2005-4-3 15:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
请高手们看一下,下面那里是不是就是magic jump啊:
00AC799B     8B0D E011AF00 mov ecx,dword ptr ds:[AF11E0]
00AC79A1     89040E        mov dword ptr ds:[esi+ecx],eax
00AC79A4     A1 E011AF00   mov eax,dword ptr ds:[AF11E0]
00AC79A9     393C06        cmp dword ptr ds:[esi+eax],edi
00AC79AC     75 16         jnz short 00AC79C4
00AC79AE     8D85 B4FEFFFF lea eax,dword ptr ss:[ebp-14C]
00AC79B4     50            push eax
00AC79B5     FF15 CC80AE00 call dword ptr ds:[AE80CC]         ; kernel32.LoadLibraryA
00AC79BB     8B0D E011AF00 mov ecx,dword ptr ds:[AF11E0]
00AC79C1     89040E        mov dword ptr ds:[esi+ecx],eax
00AC79C4     A1 E011AF00   mov eax,dword ptr ds:[AF11E0]
00AC79C9     393C06        cmp dword ptr ds:[esi+eax],edi
00AC79CC     0F84 AD000000 je 00AC7A7F       ★就是这里
00AC79D2     33C9          xor ecx,ecx
00AC79D4     8B03          mov eax,dword ptr ds:[ebx]
00AC79D6     3938          cmp dword ptr ds:[eax],edi
00AC79D8     74 06         je short 00AC79E0
00AC79DA     41            inc ecx
00AC79DB     83C0 0C       add eax,0C
00AC79DE   ^ EB F6         jmp short 00AC79D6
00AC79E0     8BC1          mov eax,ecx
00AC79E2     C1E0 02       shl eax,2
00AC79E5     50            push eax
00AC79E6     E8 0FFD0100   call 00AE76FA                      ; jmp to msvcrt.operator new
00AC79EB     59            pop ecx
00AC79EC     8B0D DC11AF00 mov ecx,dword ptr ds:[AF11DC]

我把je 00AC7A7F改成了jmp 00AC7A7F,然后在401000下内存断点,断下来后就用import rec来抓取,但是就是不能识别。
2005-4-3 17:55
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
10
感觉兄弟接触armadillo还不多吧
你可以找armadillo用不同选项加壳记事本脱壳看看

BTW:看雪论坛精华6里面有不少教程
2005-4-3 19:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
谢谢老大,的确我才接触这个armadillo壳,我这几天把脱armadillo壳的文章都看遍了,可是还是没有找到好方法脱掉这个壳,伤神啊!
2005-4-3 19:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
感觉好像是解码的问题,我每次下401000内存断点,断在oep:40260c的时候,40260c处的代码都不一样,而且我的IAT开始地址在401000,长度为1e4,我每次在数据窗口里的401000开始的一大段地址看到的数据都不一样,真是太奇怪了?
2005-4-3 20:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
fly老大,我看了你破解的每周××指南,感觉我要脱的这个软件和它太象了,你能讲讲你是怎么修复它的IAT吗?谢谢你了。
2005-4-3 20:39
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
百思不得其解啊?我的IAT地址里面正常的地址应该为73******,可是我修改了上述的那个magic jump ,然后下内存断点断住后,每次IAT地址里的值都不是73******,而是其它的值,比如下面这串值:
00401000  44 67 78 A9 F1 ED 76 A9  Dgx?眦
00401008  AB 66 78 A9 A5 F5 77 A9  ?x━貅
00401010  E5 36 78 A9 92 66 78 A9  ?x?fx
而且每次都在变,是不是我的magic jump地址改错了?
下面是我断在oep(40260c)时的数据:
0040260C     99            cdq
0040260D     BD 7521F14D   mov ebp,4DF12175
00402612     BB 9E0E5A4B   mov ebx,4B5A0E9E
00402617     61            popad
00402618     F1            int1
00402619     A5            movs dword ptr es:[edi],dword ptr >
0040261A     4B            dec ebx
0040261B     61            popad
0040261C     C1A5 4B61A1A5>shl dword ptr ss:[ebp+A5A1614B],4B
00402623     61            popad
00402624     B1 A5         mov cl,0A5
00402626     4B            dec ebx
00402627     61            popad

这是我脱壳后的文件oep处的数据:
0040260C d>  68 183E4000   push dumped.00403E18
00402611     E8 F0FFFFFF   call dumped.00402606
00402616     0000          add byte ptr ds:[eax],al
00402618     0000          add byte ptr ds:[eax],al
0040261A     0000          add byte ptr ds:[eax],al
0040261C     3000          xor byte ptr ds:[eax],al
0040261E     0000          add byte ptr ds:[eax],al
00402620     50            push eax
00402621     0000          add byte ptr ds:[eax],al

请问到底哪儿出了问题?
2005-4-3 23:18
0
雪    币: 2199
活跃值: (1975)
能力值: ( LV12,RANK:810 )
在线值:
发帖
回帖
粉丝
15
1.armadillo加密的vb程序多了个iat表内存复制到401000过程.
2.内存断点要看是中断在什么地方,如果程序还在解码code段的时候iat表没有还原怎么会正确呢。
2005-4-4 08:22
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最初由 fxyang 发布
1.armadillo加密的vb程序多了个iat表内存复制到401000过程.
2.内存断点要看是中断在什么地方,如果程序还在解码code段的时候iat表没有还原怎么会正确呢。


我把数据窗口定位在401000的,刚开始时全是0,当断在40260c的时候401000内的数据全是红字,这个时候是否是解码完成了呢?如果是,为什么数据都不正确呢?如果不是,该怎么来设置这个断点呢?请指教。
2005-4-4 12:22
0
雪    币: 2199
活跃值: (1975)
能力值: ( LV12,RANK:810 )
在线值:
发帖
回帖
粉丝
17
双进程的armadillo有一种父进程参与解码的方式,如果简单的转变单进程解码解出来的就是没有父进程解密的代码,所以是错误的。
2005-4-4 12:40
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
那我该怎么来做呢?我已经没辙了,能教教我吗?
2005-4-4 13:42
0
雪    币: 2199
活跃值: (1975)
能力值: ( LV12,RANK:810 )
在线值:
发帖
回帖
粉丝
19
最初由 qjwn 发布
那我该怎么来做呢?我已经没辙了,能教教我吗?


自己写代码来解密代码段。

新手还是不要玩这种复杂方式的。
2005-4-4 19:19
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
我也遇到这样牛皮的程序,根据教程我都成功脱了好几个,唯独这有打乱表的文件还未成功过,郁闷!可能我还未了解吧。
2005-4-6 17:28
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
VB的会打乱表????IAT就一个msvbvm60.dll
2005-4-6 20:27
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
最初由 jwh51 发布
VB的会打乱表????IAT就一个msvbvm60.dll

对,但对于初学者来说,还是比较难的,到现在还没搞明白加的VB程序为什么跟教程不同.
2005-4-23 18:25
0
游客
登录 | 注册 方可回帖
返回
//