黑客防线,在攻与防的对立统一中寻求突破!2001年创刊的黑客技术专业刊物!

设为首页
收藏本站
联系我们
网站导航

黑客文章 - 加密解密 - 浏览 - eXPressor v1.1 脱壳技术

eXPressor v1.1 脱壳技术

黑客 发布日期:2008-1-27 3:18:34 共有 419 人次浏览
---------------------------------------------------------------------------
; eXPressor v1.1 脱壳
; ---------------------------------------------------------------------------

; ------------------------------------------------------------
OllyDbg 载入,  

00438019 > $Content$nbsp;/E9 15130000   jmp     00439333
0043801E   . |E9 F0120000   jmp     00439313
00438023   . |E9 58120000   jmp     00439280
00438028   $Content$nbsp;|E9 AF0C0000   jmp     00438CDC
0043802D   $Content$nbsp;|E9 AE020000   jmp     004382E0
00438032   $Content$nbsp;|E9 B40B0000   jmp     00438BEB
00438037   $Content$nbsp;|E9 E00C0000   jmp     00438D1C

运行起来有个 NAG,拦截 MessageBoxA 试试:

77D5050B >  8BFF            mov     edi, edi
77D5050D    55              push    ebp
77D5050E    8BEC            mov     ebp, esp
77D50510    833D 1C04D777 0>cmp     dword ptr [77D7041C], 0
77D50517    74 24           je      short 77D5053D
77D50519    64:A1 18000000  mov     eax, fs:[18]
77D5051F    6A 00           push    0
77D50521    FF70 24         push    dword ptr [eax+24]
77D50524    68 F40AD777     push    77D70AF4
77D50529    FF15 1812D177   call    [<&KERNEL32.InterlockedCompareEx>; kernel32.InterlockedCompareExchange
77D5052F    85C0            test    eax, eax
77D50531    75 0A           jnz     short 77D5053D
77D50533    C705 F00AD777 0>mov     dword ptr [77D70AF0], 1
77D5053D    6A 00           push    0
77D5053F    FF75 14         push    dword ptr [ebp+14]
77D50542    FF75 10         push    dword ptr [ebp+10]
77D50545    FF75 0C         push    dword ptr [ebp+C]
77D50548    FF75 08         push    dword ptr [ebp+8]
77D5054B    E8 2D000000     call    MessageBoxExA
77D50550    5D              pop     ebp
77D50551    C2 1000         retn    10                               ; Breakpoint

在 retn 上设置一个断点,运行程序,出现:

---------------------------
Nfo
---------------------------
This program was packed with a demo version of eXPressor
---------------------------
确定    
---------------------------

关闭 NAG,返回到程序领空:


004393A8   > /8B85 34FEFFFF mov     eax, [ebp-1CC]
004393AE   . |0FBE08        movsx   ecx, byte ptr [eax]
004393B1   . |83F9 5C       cmp     ecx, 5C
004393B4   . |74 11         je      short 004393C7
004393B6   . |8B95 34FEFFFF mov     edx, [ebp-1CC]

为了找到处理输入表的地方,拦截 LoadLibraryA ,然后 Alt+F9 返回程序:

004396A5   .  8985 58FEFFFF mov     [ebp-1A8], eax                   ;  comdlg32.76320000
004396AB   >  83BD 58FEFFFF>cmp     dword ptr [ebp-1A8], 0
004396B2   .  75 37         jnz     short 004396EB
004396B4   .  8B4D F8       mov     ecx, [ebp-8]
004396B7   .  51            push    ecx                              ; /<%hs>
004396B8   .  68 78814300   push    00438178                         ; |Format = "A required .DLL file, %hs, was not found."
004396BD   .  8D95 60FEFFFF lea     edx, [ebp-1A0]                   ; |
004396C3   .  52            push    edx                              ; |s
004396C4   .  FF15 2CE14300 call    [<&USER32.wsprintfA>]            ; \wsprintfA

明显开始装载引入表了,向上回溯:

00439636   .  8B95 ECFEFFFF mov     edx, [ebp-114]
0043963C   .  0315 88F04300 add     edx, [43F088]
00439642   .  8995 38FEFFFF mov     [ebp-1C8], edx
00439648   >  8B85 38FEFFFF mov     eax, [ebp-1C8]
0043964E   .  8378 0C 00    cmp     dword ptr [eax+C], 0
00439652   .  0F84 65020000 je      004398BD

[ebp-1C8] 应该就是引入表了,运行到这里可能已经修改,重新来,直达 00439642;

在命令行输入 dd edx,看看引入表 IID 有多大:

004231F8  00023350
004231FC  00000000
00423200  00000000
00423204  00023EDC
00423208  0001F0B8

0042320C  00023520
00423210  00000000
00423214  00000000
00423218  000245FC
0042321C  0001F288

00423220  000232B4
00423224  00000000
00423228  00000000
0042322C  0002482E
00423230  0001F01C

00423234  00023710
00423238  00000000
0042323C  00000000
00423240  0002485C
00423244  0001F478

00423248  00023700
0042324C  00000000
00423250  00000000
00423254  000248A0
00423258  0001F468

0042325C  00023298
00423260  00000000
00423264  00000000
00423268  000248F0
0042326C  0001F000

00423270  000232AC
00423274  00000000
00423278  00000000
0042327C  0002490A
00423280  0001F014

00423284  00000000
00423288  00000000
0042328C  00000000
00423290  00000000
00423294  00000000

1/2页次 第1页 第2页 下一页 最后一页
所属分类: 加密解密     网摘收藏: Google 雅虎 百度 POCO 365key 和讯 天极