能力值:
( LV2,RANK:10 )
|
-
-
2 楼
不好意思,原来是我的lordpe的脱壳设置的问题,现在我已经能加载了,现在正继续脱壳中,也不知道能不能成功,要是还有问题再来请教各位高手,真的很对不起。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
现在真的有问题了,我按照“菜鸟手动脱Armadillo CopyMem-ll +Debug-Blocker壳全过程,超详细。。。 ”的方法脱了壳,可是好像加载后没有到程序入口oep,我F8一阵后程序就终止了,真知道问题在哪里?程序的真实oep是40260c,可用OD加载时开头却是46A000,怪了?
|
能力值:
( LV12,RANK:810 )
|
-
-
4 楼
如果仅仅是入口问题可以用LordPE修改oep为40260c
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
谢谢,我现在改过来了,我发现这个程序是用VB写的,我在修复IAT的时候发现不能修复,按照“菜鸟手动脱Armadillo CopyMem-ll +Debug-Blocker壳全过程,超详细。。。 ”的方法import rec找到的全是不能修复的。另外,在强制解压代码完成后,我用wdasm反编译已经能看到GDI32.DLL、KERNEL32.DLL、USER32.DLL的输入函数了,但没有其它的输入函数。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
原来这个程序还用了乱序IAT,我晕哦,这个壳是个什么版本的armadillo啊,双进程+CopyMem-ll +Debug-Blocker,真的头有点大了!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
各位高手,谁能给我一点提示,现有的已脱壳文件已经有部分输入表了,我现在该怎么来修复剩余的呢?用import REC又只能找到另外的部分输入表,而且还不能修复(明明是MSVBVM60.DLL的)。期待高手解答。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
我用wdasm反编译了一下另外用VB写的程序,原来IMPORT表里只有msvbvm60.dll的,现在问题又来了,我用import rec不能识别明明是msvbvm60.dll的函数,我该怎么来修复呢,不会叫我一个一个的去手动改吧?
|
能力值:
( 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来抓取,但是就是不能识别。
|
能力值:
( LV9,RANK:3410 )
|
-
-
10 楼
感觉兄弟接触armadillo还不多吧
你可以找armadillo用不同选项加壳记事本脱壳看看
BTW:看雪论坛精华6里面有不少教程
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
谢谢老大,的确我才接触这个armadillo壳,我这几天把脱armadillo壳的文章都看遍了,可是还是没有找到好方法脱掉这个壳,伤神啊!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
感觉好像是解码的问题,我每次下401000内存断点,断在oep:40260c的时候,40260c处的代码都不一样,而且我的IAT开始地址在401000,长度为1e4,我每次在数据窗口里的401000开始的一大段地址看到的数据都不一样,真是太奇怪了?
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
fly老大,我看了你破解的每周××指南,感觉我要脱的这个软件和它太象了,你能讲讲你是怎么修复它的IAT吗?谢谢你了。
|
能力值:
( 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
请问到底哪儿出了问题?
|
能力值:
( LV12,RANK:810 )
|
-
-
15 楼
1.armadillo加密的vb程序多了个iat表内存复制到401000过程.
2.内存断点要看是中断在什么地方,如果程序还在解码code段的时候iat表没有还原怎么会正确呢。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
最初由 fxyang 发布 1.armadillo加密的vb程序多了个iat表内存复制到401000过程. 2.内存断点要看是中断在什么地方,如果程序还在解码code段的时候iat表没有还原怎么会正确呢。
我把数据窗口定位在401000的,刚开始时全是0,当断在40260c的时候401000内的数据全是红字,这个时候是否是解码完成了呢?如果是,为什么数据都不正确呢?如果不是,该怎么来设置这个断点呢?请指教。
|
能力值:
( LV12,RANK:810 )
|
-
-
17 楼
双进程的armadillo有一种父进程参与解码的方式,如果简单的转变单进程解码解出来的就是没有父进程解密的代码,所以是错误的。
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
那我该怎么来做呢?我已经没辙了,能教教我吗?
|
能力值:
( LV12,RANK:810 )
|
-
-
19 楼
最初由 qjwn 发布 那我该怎么来做呢?我已经没辙了,能教教我吗?
自己写代码来解密代码段。
新手还是不要玩这种复杂方式的。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
我也遇到这样牛皮的程序,根据教程我都成功脱了好几个,唯独这有打乱表的文件还未成功过,郁闷!可能我还未了解吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
VB的会打乱表????IAT就一个msvbvm60.dll
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
最初由 jwh51 发布 VB的会打乱表????IAT就一个msvbvm60.dll
对,但对于初学者来说,还是比较难的,到现在还没搞明白加的VB程序为什么跟教程不同.
|
|
|