首页
社区
课程
招聘
[求助]关于Armadillo 2.51 - 3.xx DLL Stub 四大问题!FLY大哥也进来帮忙下哦
发表于: 2006-10-18 13:34 6762

[求助]关于Armadillo 2.51 - 3.xx DLL Stub 四大问题!FLY大哥也进来帮忙下哦

2006-10-18 13:34
6762
打开某个***.dll用OD查的壳Armadillo 2.51 - 3.xx DLL Stub -> Silicon Realms Toolworks

我使用了 杀那恍惚 所说的dll脱壳教程
打开OD载入到
0093EE97 >/$  55            push    ebp        ---------在这里中断
0093EE98  |.  8BEC          mov     ebp, esp
0093EE9A  |.  53            push    ebx
0093EE9B  |.  8B5D 08       mov     ebx, dword ptr [ebp+8]
0093EE9E  |.  56            push    esi
0093EE9F  |.  8B75 0C       mov     esi, dword ptr [ebp+C]
0093EEA2  |.  57            push    edi
0093EEA3  |.  8B7D 10       mov     edi, dword ptr [ebp+10]
0093EEA6  |.  85F6          test    esi, esi
0093EEA8  |.  75 09         jnz     short 0093EEB3
0093EEAA  |.  833D 28A79500>cmp     dword ptr [95A728], 0
0093EEB1  |.  EB 26         jmp     short 0093EED9

下断点 BP GetModuleHandleA+5  ,Shift+F9 运行,看到:
7C80B52E    837D 08 00      cmp     dword ptr [ebp+8], 0 ---中断在这里
7C80B532    74 18           je      short 7C80B54C
7C80B534    FF75 08         push    dword ptr [ebp+8]
7C80B537    E8 682D0000     call    7C80E2A4
7C80B53C    85C0            test    eax, eax

;以下是 堆栈 显示
堆栈 ss:[00069160]=00B4BC1C, (ASCII "kernel32.dll")

;以下是右下角窗口显示
00069158  /0006E8A0
0006915C  |00B36DF3  返回到 00B36DF3 来自 kernel32.GetModuleHandleA
00069160  |00B4BC1C  ASCII "kernel32.dll"
00069164  |00B4CEC4  ASCII "VirtualAlloc"

鼠标点住00069164  |00B4CEC4  ASCII "VirtualAlloc" 按F9 为

00069158  /0006E8A0
0006915C  |00B36E10  返回到 00B36E10 来自 kernel32.GetModuleHandleA
00069160  |00B4BC1C  ASCII "kernel32.dll"
00069164  |00B4CEB8  ASCII "VirtualFree"

继续按F9 提示:

X 不知如何回避位于地址 00B413A5 的命令,请尝试更改 EIP 或忽略程序异常.

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
;以上提示为何?
我开始时就按照教程
设置Ollydbg忽略所有的异常选项。老规矩:用IsDebug 1.4插件去掉Ollydbg的调试器标志
选项-调试设置-异常  这里全部点上了.
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

出现以上提示后;
我把鼠标点住 00069164  |00B4CEB8  ASCII "VirtualFree" 按 Shift+F9

有变化了
右下角窗口变为了以下内容:
0006EADC  |77C079B2  返回到 77C079B2 来自 kernel32.GetModuleHandleA
0006EAE0  |77BE31BC  ASCII "kernel32.dll"
0006EAE4  |77C31A70

然后我取消了
7C80B52E    837D 08 00      cmp     dword ptr [ebp+8], 0 ------------在这里取消断点

按Alt+F9 返回,出现以下窗口内容:
00B25CE1    8B0D AC40B500   mov     ecx, dword ptr [B540AC]
00B25CE7    89040E          mov     dword ptr [esi+ecx], eax
00B25CEA    A1 AC40B500     mov     eax, dword ptr [B540AC]
00B25CEF    391C06          cmp     dword ptr [esi+eax], ebx
00B25CF2    75 16           jnz     short 00B25D0A
00B25CF4    8D85 B4FEFFFF   lea     eax, dword ptr [ebp-14C]
00B25CFA    50              push    eax
00B25CFB    FF15 BC62B400   call    dword ptr [B462BC]               ; kernel32.LoadLibraryA
00B25D01    8B0D AC40B500   mov     ecx, dword ptr [B540AC]
00B25D07    89040E          mov     dword ptr [esi+ecx], eax
00B25D0A    A1 AC40B500     mov     eax, dword ptr [B540AC]
00B25D0F    391C06          cmp     dword ptr [esi+eax], ebx
00B25D12    0F84 2F010000   je      00B25E47                  
;这里的 jp  00B25E47                             我把jp改jmp-------- 请问这里是否就是 Magic Jump???????
00B25D18    33C9            xor     ecx, ecx

第二步获得重定位信息;

下断点 bp GetTickCount,Shift+F9 运行中断后,注意看堆栈:
堆栈显示edx=00380608

;CPU窗显示:
7C80B52E    837D 08 00      cmp     dword ptr [ebp+8], 0   --------中断在这里!
7C80B532    74 18           je      short 7C80B54C
7C80B534    FF75 08         push    dword ptr [ebp+8]

右下角窗显示:
00069164   00B3C009  /CALL 到 GetTickCount 来自 00B3C003
00069168   00B4FA98
0006916C   7C9210ED  ntdll.RtlLeaveCriticalSection
00069170   00000000

点 00069164   00B3C009  /CALL 到 GetTickCount 来自 00B3C003 ---按F9

变为:

00069164   00B3C3C8  /CALL 到 GetTickCount 来自 00B3C3C2
00069168   00B4FA98
0006916C   7C9210ED  ntdll.RtlLeaveCriticalSection

然后
7C80B52E    837D 08 00      cmp     dword ptr [ebp+8], 0   --------取消这里的断点!

按Alt+F9,出现以下红色代码:

00B3C3C8    2B85 A4D4FFFF   sub     eax, dword ptr [ebp-2B5C]
00B3C3CE    8B8D A8D4FFFF   mov     ecx, dword ptr [ebp-2B58]
00B3C3D4    6BC9 32         imul    ecx, ecx, 32
00B3C3D7    81C1 D0070000   add     ecx, 7D0
00B3C3DD    3BC1            cmp     eax, ecx
00B3C3DF    76 07           jbe     short 00B3C3E8
00B3C3E1    C685 34D9FFFF 0>mov     byte ptr [ebp-26CC], 1
00B3C3E8    83BD E4D7FFFF 0>cmp     dword ptr [ebp-281C], 0
00B3C3EF    0F85 8A000000   jnz     00B3C47F
00B3C3F5    0FB685 94D4FFFF movzx   eax, byte ptr [ebp-2B6C]
00B3C3FC    85C0            test    eax, eax
00B3C3FE    74 7F           je      short 00B3C47F
00B3C400    6A 00           push    0
00B3C402    8B85 98D4FFFF   mov     eax, dword ptr [ebp-2B68]
00B3C408    C1E0 02         shl     eax, 2
00B3C40B    50              push    eax
00B3C40C    8B85 0CD8FFFF   mov     eax, dword ptr [ebp-27F4]
00B3C412    0385 90D4FFFF   add     eax, dword ptr [ebp-2B70]
00B3C418    50              push    eax
00B3C419    E8 131E0000     call    00B3E231
00B3C41E    83C4 0C         add     esp, 0C
00B3C421    8B85 98D4FFFF   mov     eax, dword ptr [ebp-2B68]
00B3C427    C1E0 02         shl     eax, 2
00B3C42A    50              push    eax
00B3C42B    FFB5 6CD9FFFF   push    dword ptr [ebp-2694]
00B3C431    8B85 0CD8FFFF   mov     eax, dword ptr [ebp-27F4]
00B3C437    0385 90D4FFFF   add     eax, dword ptr [ebp-2B70]
00B3C43D    50              push    eax

在 CPU 窗口按 Ctrl+S 查找如下代码

PUSH EAX
XCHG CX,CX
POP EAX
STC

我找到的位置是:
00B3CF54    50              push    eax
00B3CF55    66:87C9         xchg    cx, cx
00B3CF58    58              pop     eax
00B3CF59    F9              stc

然后我在 00B3CF54 行按 F2 设置断点,然后 F9 执行后取消断点到这里后窗口里出现了红色代码

00B3CF59    C705 E0C0B400 6>mov     dword ptr [B4C0E0], 0B4CB60
00B3CF63    A1 E49FB500     mov     eax, dword ptr [B59FE4]
00B3CF68    8B00            mov     eax, dword ptr [eax] -------;教程中指明这里重定位表的RVA(但是我鼠标点上去没有显示)
00B3CF6A    8985 3CD9FFFF   mov     dword ptr [ebp-26C4], eax
00B3CF70    A1 E49FB500     mov     eax, dword ptr [B59FE4]
00B3CF75    83C0 04         add     eax, 4
00B3CF78    A3 E49FB500     mov     dword ptr [B59FE4], eax
00B3CF7D    A1 E49FB500     mov     eax, dword ptr [B59FE4]
00B3CF82    8B00            mov     eax, dword ptr [eax]   -------;教程中指明这里就是看重定位表的大小(但是我鼠标点上去没有显示)
00B3CF84    8985 78D9FFFF   mov     dword ptr [ebp-2688], eax
00B3CF8A    A1 E49FB500     mov     eax, dword ptr [B59FE4]
00B3CF8F    83C0 04         add     eax, 4
00B3CF92    A3 E49FB500     mov     dword ptr [B59FE4], eax
00B3CF97    83BD 3CD9FFFF 0>cmp     dword ptr [ebp-26C4], 0------; 重定位表的RVA为0吗?(如何出现这里是0,我看不明白这个含义)
00B3CF9E    74 6F           je      short 00B3D00F --------------; 为0则重定位处理.(应该怎么处理呢?)
00B3CFA0    83BD 78D9FFFF 0>cmp     dword ptr [ebp-2688], 0------;重定位表的大小为0吗?(如何出现这里是0,我看不明白这个含义)
00B3CFA7    74 66           je      short 00B3D00F --------------; 为0则重定位处理.(应该怎么处理呢?)
00B3CFA9    8B85 FCD7FFFF   mov     eax, dword ptr [ebp-2804]
00B3CFAF    8B8D 0CD8FFFF   mov     ecx, dword ptr [ebp-27F4]
00B3CFB5    3B48 34         cmp     ecx, dword ptr [eax+34]
00B3CFB8    74 55           je      short 00B3D00F --------------;如与映像基址不符则重定位处理!(这里的je 我改为了 jmp)
00B3CFBA    FFB5 78D9FFFF   push    dword ptr [ebp-2688]
00B3CFC0    8B85 0CD8FFFF   mov     eax, dword ptr [ebp-27F4]
00B3CFC6    0385 3CD9FFFF   add     eax, dword ptr [ebp-26C4]
00B3CFCC    50              push    eax
00B3CFCD    8B85 FCD7FFFF   mov     eax, dword ptr [ebp-2804]
00B3CFD3    FF70 34         push    dword ptr [eax+34]
00B3CFD6    FFB5 0CD8FFFF   push    dword ptr [ebp-27F4]
00B3CFDC    E8 3C150000     call    00B3E51D---------------------;重定位处理CALL(应该如何处理?)
00B3CFE1    83C4 10         add     esp, 10
00B3CFE4    0FB6C0          movzx   eax, al
00B3CFE7    85C0            test    eax, eax
00B3CFE9    75 24           jnz     short 00B3D00F
00B3CFEB    8B45 08         mov     eax, dword ptr [ebp+8]
00B3CFEE    8B00            mov     eax, dword ptr [eax]
00B3CFF0    C700 07000000   mov     dword ptr [eax], 7
00B3CFF6    68 50CBB400     push    0B4CB50                          ; ASCII "Location CPG"
00B3CFFB    8B45 08         mov     eax, dword ptr [ebp+8]
00B3CFFE    FF70 04         push    dword ptr [eax+4]
00B3D001    E8 24800000     call    00B4502A                         ; jmp 到 msvcrt.strcpy
00B3D006    59              pop     ecx
00B3D007    59              pop     ecx
00B3D008    33C0            xor     eax, eax
00B3D00A    E9 A5070000     jmp     00B3D7B4

;我把上面 00B3CFB8 的 JE  改成 JMP  

继续下一步:
Alt+M 打开内存查看窗口,显示如下:

003F0000   0000C000                                       Priv   RW        RW
00400000   00001000   LOADDLL               PE 文件头        Imag   R         RWE
00410000   00001000   LOADDLL    CODE       代码            Imag   RWE       RWE
00420000   00003000   LOADDLL    DATA       数据            Imag   RW        RWE
00430000   00001000   LOADDLL    .idata     输入表           Imag   RW        RWE
00440000   00001000   LOADDLL    .edata     输出表           Imag   R         RWE
00450000   00001000   LOADDLL    .rsrc      资源            Imag   RW        RWE
00460000   00103000                                       Map    R         R
00570000   0005C000                                       Map    R E       R E
00870000   00001000   SystemMo              PE 文件头        Imag   R         RWE
00871000   0007D000   SystemMo   CODE                     Imag   R         RWE
008EE000   00004000   SystemMo   DATA                     Imag   R         RWE
008F2000   00006000   SystemMo   BSS                      Imag   R         RWE
008F8000   00003000   SystemMo   .idata                   Imag   R         RWE
008FB000   00001000   SystemMo   .edata     输出表           Imag   R         RWE
008FC000   0000A000   SystemMo   .reloc                   Imag   R         RWE
00906000   00040000   SystemMo   .text      代码            Imag   R         RWE
00946000   00010000   SystemMo   .adata     代码            Imag   R         RWE
00956000   00010000   SystemMo   .data      数据            Imag   R         RWE
00966000   00010000   SystemMo   .reloc1    重定位           Imag   R         RWE
00976000   00080000   SystemMo   .pdata     输入表           Imag   R         RWE
009F6000   00007000   SystemMo   .rsrc      资源            Imag   R         RWE

;在 00906000   00040000   EdrLib     .text ★     这里设置内存访问断点 F9 运行,中断在OEP

00909980  /$  55            push    ebp ------------------------------------------OEP  (此处的OEP地址是否准确?)
00909981  |.  8BEC          mov     ebp, esp
00909983  |.  8B45 0C       mov     eax, dword ptr [ebp+C]
00909986  |.  50            push    eax                              ; /Arg3
00909987  |.  8B4D 08       mov     ecx, dword ptr [ebp+8]           ; |
0090998A  |.  51            push    ecx                              ; |Arg2
0090998B  |.  8B55 10       mov     edx, dword ptr [ebp+10]          ; |
0090998E  |.  83F2 FF       xor     edx, FFFFFFFF                    ; |
00909991  |.  52            push    edx                              ; |Arg1
00909992  |.  E8 A3E20200   call    00937C3A                         ; \SystemMo.00937C3A
00909997  |.  83C4 0C       add     esp, 0C
0090999A  |.  83F0 FF       xor     eax, FFFFFFFF
0090999D  |.  5D            pop     ebp
0090999E  \.  C3            retn

下一步,用LordPE选中Ollydbg的loaddll.exe的进程,在下面的列表里选择EdrLib.dll,然后完整脱壳,得到dumped.dll。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
我们用 LordPE 打开 dumped.dll 到目录中修改 重定位:RVA=???? 大小=???? 然后保存修改------
这里的 重定位:RVA=???? 大小=???
我刚才说到过,我没有显示的,这应该如何才能知道 RVA 和大小了?--------------

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

好了,我进入了搞定输入表;

以下方法为 【破解作者】 jameshero  的查找IAT地址方法:

Alt+M打开内存查看窗口,看到这个DLL的给个区段

00870000   00001000   SystemMo              PE 文件头        Imag   R         RWE
00871000   0007D000   SystemMo   CODE                     Imag   R         RWE
008EE000   00004000   SystemMo   DATA                     Imag   R         RWE
008F2000   00006000   SystemMo   BSS                      Imag   R         RWE
008F8000   00003000   SystemMo   .idata                   Imag   R         RWE    <--这里,双击,可以看到数据

看到的数据为:

008F8140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
008F8150  00 00 00 00 8A 18 93 7C ED 10 92 7C 05 10 92 7C  ....?????
008F8160  A1 9F 80 7C 14 9B 80 7C 81 9A 80 7C 5D 99 80 7C  ???|??]?|
008F8170  BD 99 80 7C AB 14 81 7C 37 97 80 7C 94 97 80 7C  ????7?|??
008F8180  7B 97 80 7C 59 B8 80 7C C7 A0 80 7C AD 9C 80 7C  {?|Y?|沁???
008F8190  E0 C6 80 7C 11 03 81 7C 4F 1D 80 7C 05 A4 80 7C  嗥??O??|
008F81A0  EE 1E 80 7C 28 AC 80 7C 29 B5 80 7C 57 B3 80 7C  ??(?|)?|W?|
008F81B0  7E D4 80 7C 8D 2C 81 7C 66 AA 80 7C 59 35 81 7C  ~?|??f?|Y5?
008F81C0  D7 EF 80 7C A2 CA 81 7C A9 CC 80 7C 2F 08 81 7C  罪?⑹?┨?/?
008F81D0  9F 0F 81 7C 8A 2B 86 7C 40 7A 95 7C E1 EA 81 7C  ????@z?彡?
008F81E0  A9 2C 81 7C B6 70 B2 00 46 FA D3 77 98 EC D3 77  ??娥?F?w?喻
008F81F0  0B 05 D5 77 40 EC D3 77 AF 70 B2 00 83 78 DA 77   征@煊w???邝
008F8200  1B 76 DA 77 F0 6B DA 77 18 71 B2 00 50 48 0F 77  v邝痣邝q?PHw
008F8210  9D C9 11 77 59 4B 0F 77 1D 71 B2 00 F5 9B 80 7C  ?wYKwq???
008F8220  50 97 80 7C 53 34 81 7C 0F 2B 81 7C 5D 99 80 7C  P?|S4?+?]?|
008F8230  BD 99 80 7C DD 70 B2 00 E7 EB DA 77 83 78 DA 77  ??蒺?珉邝?邝
008F8240  B5 C1 DC 77 1B 76 DA 77 08 B9 DB 77 C1 C8 DC 77  盗荀v邝观w寥荀
008F8250  23 C1 DC 77 F4 EA DA 77 F0 6B DA 77 C9 D4 DC 77  #淋w絷邝痣邝稍荀
008F8260  A0 70 B2 00 29 C7 80 7C B7 2B 82 7C 9F 0F 81 7C  _p?)?|????
008F8270  30 25 80 7C 59 B8 80 7C 81 9A 80 7C 42 24 80 7C  0%?Y?|??B$?
008F8280  F1 BA 80 7C 67 CC 80 7C 82 B8 81 7C 53 4B 83 7C  窈?g?|??SK?
008F8290  A6 0D 81 7C 44 FB 81 7C 28 9C 80 7C 97 AA 80 7C  ??D?|(?|??
008F82A0  50 F8 81 7C 2A E9 81 7C 4C 9C 80 7C 0E 18 80 7C  P?|*?|L?|?
008F82B0  DA 56 82 7C 17 A4 80 7C F4 97 80 7C CF C6 80 7C  谥??|??掀?
008F82C0  65 A0 80 7C 77 1D 80 7C ED 10 92 7C A1 9F 80 7C  e_?w?????
008F82D0  82 00 81 7C C9 25 81 7C B7 F1 81 7C 36 8F 83 7C  ????否?6?|
008F82E0  19 01 81 7C 2F FE 80 7C 94 30 82 7C 9A E1 81 7C  ?/?|????
008F82F0  2D FF 80 7C 39 30 82 7C 3B 29 82 7C 51 28 81 7C  -?|90?;)?Q(?
008F8300  AB 14 81 7C AE 94 83 7C AC 92 80 7C 26 CC 80 7C  ??????&?|
008F8310  05 A4 80 7C CF 21 82 7C C6 2A 81 7C 35 E8 81 7C  ?|????5?|
008F8320  7F 5D 87 7C A9 2C 81 7C 28 AC 80 7C 54 2A 82 7C  ]???(?|T*?
008F8330  F3 0B 86 7C 29 B5 80 7C 57 B3 80 7C 7E D4 80 7C  ??)?|W?|~?|
008F8340  C1 C9 80 7C 31 03 93 7C 7C 36 81 7C 8F 0C 81 7C  辽?1?|6???
008F8350  A2 29 82 7C 73 73 82 7C 0C 6E 82 7C 37 97 80 7C  ??ss?.n?7?|
008F8360  19 99 80 7C 4E 99 80 7C 0D E0 80 7C A9 60 82 7C  ?|N?|.?|┼?
008F8370  E6 2B 81 7C 43 99 80 7C 82 D5 82 7C 7B 97 80 7C  ??C?|??{?|
008F8380  AD 97 80 7C 94 97 80 7C 66 AA 80 7C 62 5F 82 7C  ????f?|b_?
008F8390  B1 C7 80 7C 59 35 81 7C D7 EF 80 7C 66 EA 80 7C  鼻?Y5?罪?f?|
008F83A0  18 E0 81 7C 1C 76 83 7C 05 10 92 7C 25 16 80 7C  ?|v??%?
008F83B0  5C E8 81 7C 8A 18 93 7C 2F 08 81 7C 24 1A 80 7C  \?|??/?$?
008F83C0  BD E4 81 7C 93 D2 80 7C 77 9B 80 7C 62 70 B2 00  戒???w?|bp?
008F83D0  BA 18 BD 77 FF 19 BD 77 50 1A BD 77 18 71 B2 00  ?谨?谨P谨q?
008F83E0  AF 89 EF 77 FC C6 EF 77 AD 94 EF 77 88 79 EF 77  ?秣?秣?秣?秣
008F83F0  A7 5B EF 77 5F 9D EF 77 90 A9 EF 77 E1 D3 EF 77  й秣_?w?秣嵊秣
008F8400  AC D6 EF 77 34 88 EF 77 0B 5D EF 77 59 5C EF 77  ?秣4?w ]秣Y\秣
008F8410  DE 82 EF 77 A0 59 EF 77 84 98 EF 77 BE 97 EF 77  ?秣_Y秣?秣?秣
008F8420  70 80 EF 77 89 BD EF 77 B0 86 EF 77 60 9C EF 77  p?w?秣?秣`?w
008F8430  74 A1 EF 77 07 9D EF 77 99 68 EF 77 C8 AB EF 77  t★w?w?秣全秣
008F8440  21 A8 EF 77 3B D7 EF 77 5B D5 EF 77 F1 5F EF 77  !?w;罪w[诊w襁秣
008F8450  5B D3 EF 77 EF CD EF 77 82 9A EF 77 A2 58 EF 77  [语w锿秣?秣⒇秣
008F8460  C5 9F EF 77 47 A1 EF 77 31 9C EF 77 94 FB F0 77  ?秣G★w1?w?瘅
008F8470  E4 68 EF 77 A5 A6 EF 77 B8 8D EF 77 65 86 EF 77  滂秣ウ秣?秣e?w
008F8480  3B 6A EF 77 A6 6C EF 77 D5 5F EF 77 23 E9 F0 77  ;j秣?秣者秣#轲w
008F8490  D7 8D EF 77 47 D5 EF 77 0C D1 EF 77 2C B5 EF 77  ?秣G诊w.扬w,碉w
008F84A0  10 96 EF 77 10 5E EF 77 51 6E EF 77 29 AA EF 77  ?w^秣Qn秣)?w
008F84B0  1F 60 EF 77 C0 6D EF 77 49 71 B2 00 0B 19 D2 77  `秣理秣Iq? 吟
008F84C0  7E C5 D1 77 CF 50 D3 77 E9 93 D1 77 64 C0 D1 77  ~叛w闲喻?痒d姥w
008F84D0  38 E4 D3 77 9F F2 D3 77 CE 8B D1 77 8E FE D1 77  8溆w?喻?痒?痒
008F84E0  16 4F D6 77 54 05 D2 77 DE D4 D1 77 42 01 D2 77  O主T吟拊痒B吟
008F84F0  BF 5E D5 77 87 D7 D1 77 B2 02 D4 77 8E C7 D1 77  哭征?痒?憎?痒
008F8500  EA FB D3 77 D3 DE D1 77 06 8C D1 77 BB F6 D1 77  犒喻愚痒?w祸痒
008F8510  80 F7 D1 77 2C 90 D1 77 6E B4 D1 77 FA ED D1 77  ?痒,?wn囱w?痒
008F8520  AE FD D1 77 06 AA D6 77 16 F1 D4 77 A7 66 D2 77  ?痒?w裨wф吟
008F8530  DC E5 D1 77 A8 C6 D1 77 DB 01 D2 77 88 C9 D1 77  苠痒ㄆ痒?吟?痒
008F8540  80 53 D2 77 AE E2 D1 77 38 04 D2 77 B8 C5 D1 77  ?吟?痒8吟概痒
008F8550  A2 EE D1 77 4D 72 D3 77 6D 86 D1 77 A4 C9 D1 77  ㈩痒Mr喻m?wど痒
008F8560  00 8E D1 77 00 8E D1 77 16 23 D2 77 BC C6 D1 77  .?w.?w#吟计痒
008F8570  31 C5 D1 77 EB ED D3 77 62 DB D1 77 FD CE D1 77  1叛w腠喻b垩w?痒
008F8580  D9 B4 D1 77 F2 EC D3 77 8E BC D1 77 0B 05 D5 77  俅痒蜢喻?痒 征
008F8590  D7 B9 D1 77 E9 03 D2 77 98 EC D3 77 3B 5F D5 77  坠痒?吟?喻;_征
008F85A0  AE 21 D2 77 FA E8 D1 77 A8 67 D2 77 1A 8C D1 77  ?吟?痒ㄧ吟?w
008F85B0  20 D4 D1 77 8E BD D1 77 92 C5 D1 77 DB B7 D1 77   匝w?痒?痒鄯痒
008F85C0  76 C6 D1 77 8A C4 D1 77 98 5C D3 77 F3 BE D1 77  v蒲w?痒?喻缶痒
008F85D0  9D B4 D1 77 E7 B3 D1 77 30 F4 D4 77 9A 4F D3 77  ?痒绯痒0粼w?喻
008F85E0  4D C6 D1 77 58 8A D1 77 2E F8 D3 77 7C B5 D1 77  M蒲wX?w.?w|笛w
008F85F0  14 EB D1 77 7C 94 D1 77 F9 8F D1 77 6F D1 D1 77  胙w|?w?痒o蜒w
008F8600  75 8F D1 77 B8 E7 D1 77 83 8E D1 77 50 8E D1 77  u?w哥痒?痒P?w
008F8610  5A 35 D2 77 B7 F7 D1 77 6F F6 D1 77 2F 3A D2 77  Z5吟拂痒o鲅w/:吟
008F8620  3C EE D1 77 D7 B5 D1 77 98 C2 D1 77 6E EF D4 77  <钛w椎痒?痒n镌w
008F8630  9F 74 D3 77 EC 38 D2 77 E8 EE D4 77 5B 37 D2 77  ?喻?吟桀憎[7吟
008F8640  BE EA D3 77 3E 4E D3 77 35 EF D1 77 8B BF D1 77  娟喻>N喻5镅w?痒
008F8650  3C C4 D1 77 79 C3 D1 77 D4 F3 D4 77 A1 E9 D1 77  <难wy醚w泽憎¢痒
008F8660  AE C4 D1 77 40 C6 D1 77 BB D7 D1 77 1D F2 D1 77  ?痒@蒲w蛔痒蜓w
008F8670  97 86 D1 77 66 C5 D1 77 CD CE D1 77 56 B5 D1 77  ?痒f叛w臀痒V笛w
008F8680  32 E0 D1 77 4A 4D D3 77 FF 94 D1 77 1E DF D1 77  2嘌wJM喻?痒哐w
008F8690  FE F5 D1 77 C6 F3 D3 77 C5 D3 D1 77 D1 BD D1 77  ?痒企喻庞痒呀痒
008F86A0  35 D9 D1 77 CD FA D1 77 C5 B4 D1 77 D4 C4 D1 77  5傺w旺痒糯痒阅痒
008F86B0  AD 7B D6 77 3C FC D1 77 61 5D D3 77 BC F3 D4 77  ?主<?wa]喻俭憎
008F86C0  8A F3 D1 77 EF 01 D3 77 20 24 D3 77 07 F8 D1 77  ?痒?喻 $喻?w
008F86D0  BD BC D1 77 66 E6 D1 77 A1 E3 D1 77 CE E8 D1 77  郊痒f嫜w°痒舞痒
008F86E0  CE E8 D1 77 7B E8 D1 77 6B DF D1 77 D4 F6 D4 77  舞痒{柩wk哐w增憎
008F86F0  85 F6 D4 77 38 71 D3 77 3F 36 D2 77 4F 6C D5 77  ?憎8q喻?6吟Ol征
008F8700  2C BF D1 77 1B 71 D2 77 4B E3 D1 77 6E ED D1 77  ,垦wq吟K阊wn硌w
008F8710  B1 B4 D1 77 40 EC D3 77 D5 EE D3 77 E9 AC D1 77  贝痒@煊w疹喻楝痒
008F8720  9B AD D1 77 A2 20 D2 77 94 F7 D3 77 B6 70 B2 00  ?痒?吟?喻娥?
008F8730  42 24 80 7C 00 71 B2 00 A4 C3 11 77 4F 50 0F 77  B$?.q?っwOPw
008F8740  9B 50 0F 77 E9 C2 11 77 D9 66 0F 77 95 D2 11 77  ?w槁w冁w?w
008F8750  C0 48 0F 77 20 49 0F 77 00 71 B2 00 C7 2A 1B 5D  廊w Iw.q??]
008F8760  2E 0B 19 5D 13 29 1B 5D 81 3B 1B 5D F4 26 1B 5D  . ])]?]?]
008F8770  40 28 1B 5D A0 26 1B 5D ED 27 1B 5D 18 28 1B 5D  @(]?]?](]
008F8780  BF 27 1B 5D 39 27 1B 5D 77 27 1B 5D 35 C0 17 5D  ?]9']w']5?]
008F8790  9B 12 18 5D C9 91 18 5D 51 2F 18 5D B8 C2 17 5D  ?]?]Q/]嘎]
008F87A0  40 D4 17 5D E3 29 1B 5D C2 E1 17 5D 2E BD 17 5D  @?]?]箩].?]
008F87B0  5B BB 17 5D B6 70 B2 00 44 FE 3E 77 AA 70 B2 00  [?]娥?D?w??
008F87C0  83 98 3C 77 B1 3A 3F 77 E4 1F 3E 77 DD 70 B2 00  ?<w??w?>w蒺?
008F87D0  BE 15 E0 5F 00 71 B2 00 6B 65 72 6E 65 6C 33 32  ?噙.q?kernel32
008F87E0  2E 64 6C 6C 00 00 00 00 00 00 00 00 00 00 00 00  .dll............
008F87F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
008F8800  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
依照以上是否可以看出,IAT 的地址了?
是否为 008F8514 为开始  008F87E4   为结束??
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

教程方法:
下面我们用ImportREC选取这个.dll,填入RVA=8F8154-400000=4F8154、大小如果你不确定
的话,就写1000好了
(这里ImportREC的设置,8选中“使用来自磁盘的PE首部”)

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

;------------------我写入 RUA= 8F8154  大小=E4
现在点“获取输入信息”提示错误信息:
函数窗口提示:
+?指针:004F8154 十六进制:39 (十进制:57) 正确性:假

日志窗口提示:
RVA:004F81D8 载入相关数据于 库名ntdll.dll ord:0358 函数:RtlUnwind
------------------------------------------------------------------
当前输入函数信息:
0 (十进制:0)
39 (十进制:57) 输入函数  增加:+39
(5 (十进制:5) 无效指针(s)  增加:+5
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

请高手对本菜鸟指点迷津,本人QQ:4976163  先在这里谢谢大家了

FLY大哥你能详细一些给我指点下吗?????

问题一:为什么我使用汉化第二版载入我的***.dll  下断点 BP GetModuleHandleA+5,Shift+F9 运行后直接关闭了窗口?
       而运行OllyICE 就不会.????

问题二:以上带黑色星的框里内容都希望高手能帮忙详解一下,谢谢大家.

问题三:何为 Magic Jump ?

问题四:找不到 RVA   和  大小 还有什么办法可以解决输入表和修复问题?

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

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
基础知识没人可以替代你去学习
1、有anti
2、建议从压缩壳开始学习
3、Magic Jump:修改后可以避开输入表加密的某些地址
4、手动定位
RVA=008F8154
Size=680
2006-10-18 15:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
先谢谢fly大哥的指点:
我想我从高处往下走会不会看的更远(试试看)
1、有anti (anti 是什么?)
2、建议从压缩壳开始学习 (有数)
3、Magic Jump:修改后可以避开输入表加密的某些地址 (jh  je 等词很多,是否都需要 修改的?能详细点解释一下)
4、手动定位
RVA=008F8154
Size=680 (这个Size=680 这个数字是怎么得出来的呢?能解释一下吗?)
2006-10-18 19:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不知道我以上一楼的脱壳操作是否正确?
2006-10-18 19:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
为什么没人帮我了啊?
2006-10-18 21:44
0
雪    币: 7
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
6
我在看雪 FLY还没这样回答过我问题

能回答你已经不错了

在他的地盘  他最多也会给我回答一些“无用”的答案

但是还是感谢FLY
2006-10-18 22:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
恩,我也谢谢FLY大哥的,人的水平总有高低的,不懂就问才能是三好学生是吧
2006-10-18 22:09
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
1、Anti :反调试
2、多练多得
3、Magic Jump是个宽泛的范畴,这里的修改未必就是改jmp,有些需要patch代码。Armadillo的Magic Jump一般只要改个jmp
4、008F87D4-008F8154
2006-10-19 10:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感谢FLY大哥

另外再问一下

我用那个方法 脱了壳 但是修复后 我点[重建PE]提示以下内容:

重建完成。。。
当前文件大小。。。
文件最小化到。。。
重建输入表,发现无效的RVA
使PE有效完成。。。

问:为什么这里会是无效的RVA?这里的RVA是否与 ImportREC 获取输入表RVA相同?如不同的话在 LOADPE 的重定位的 RVA 应该如何获得呢?

我在使用 ImportREC 获取输入表 时 剪切无效指针后 提示操作完成

修复转存文件 提示正常

然后 我用PEID 查壳显示 Nothing found *

设置PEID选项 核心扫描 显示:Microsoft Visual C++ 5.0

用armadillo 加壳时提示 出错:该文件已经加壳
2006-10-19 11:57
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
10
脱壳能正常运行就行了
刚开始不需要优化PE
2006-10-19 12:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我是一个注册插件

脱完壳后读取不了这个插件?

原件放上去后打开注册可以显示 自己的 机器码

脱完后 没有机器码显示了

这是不是和重定位表 中的 RVA无效 有关系?

问:如何才能让这个RVA有效呢?
2006-10-19 13:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
用OD脱下 Armadillo 2.51 - 3.xx  获得输入表-抓取转存文件 为dumped.dll
而运行exe程序无法加载这个插件。(原件可以加载)
用PEID查的 Borland Delphi DLL  这个是一个壳还是一个语言呢?  这个应该怎么处理?

而运行exe程序无法加载这个插件。
2006-10-19 15:32
0
雪    币: 238
活跃值: (12)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
13
抓取了不等于脱壳完毕,要修复输入表和重定位表才可以的。
2006-10-19 15:48
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
14
你的一个问题没必要发好多主题帖,你的问题FLY兄已经给你回答的好多了,你这个还没修复,当然不能正常运行~!~!
2006-10-19 16:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
感谢看雪论坛所有大侠的帮助

现在的问题是
脱了壳后显示:Borland Delphi DLL

不知道这个Delphi 编程要怎么破解他的?

有什么地方可以自学的?有大侠能指点下吗?非常感谢,最后关头

成功我想就在眼前了,我现在好高兴处女壳既将脱下!

希望论坛大侠一定要帮助帮助我这个新手。。。。
2006-10-19 21:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
感谢看雪论坛所有大侠的帮助

现在的问题是
脱了壳后显示:Borland Delphi DLL

不知道这个Delphi 编程要怎么破解他的?

有什么地方可以自学的?有大侠能指点下吗?非常感谢,最后关头

成功我想就在眼前了,我现在好高兴处女壳既将脱下!

希望论坛大侠一定要帮助帮助我这个新手。。。。
2006-10-20 18:06
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
17
最初由 寻风 发布
感谢看雪论坛所有大侠的帮助

现在的问题是
脱了壳后显示:Borland Delphi DLL

........


分析分析代码
把注册call拔除了,就OK了
2006-10-20 21:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
要如何分析代码呢?如何拨除呢?
我是新手,望大侠们多多提拔及指点
最有效工具是什么?
2006-10-20 22:41
0
雪    币: 359
活跃值: (419)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
最初由 寻风 发布
感谢看雪论坛所有大侠的帮助

现在的问题是
脱了壳后显示:Borland Delphi DLL

........


从开始学吧
2006-10-21 09:06
0
游客
登录 | 注册 方可回帖
返回
//