通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 网络攻防 >> 文章正文
eXPressor v1.1 脱壳技术
责任编辑:酷酷の鱼   更新日期:2008-2-11
 

---------------------------------------------------------------------------
;     eXPressor v1.1 脱壳
; ---------------------------------------------------------------------------

; ---------------------------------------------------------------------------
;     寻找恰当时机 Dump 文件
; ---------------------------------------------------------------------------
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] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    普通文章 Hping--强大的TCP/IP工具
    普通文章 Forgot的Unpack Me v0.1.5 bugfix脱壳
    普通文章 易语言LikeOne新视听网络电影电视脱壳
    普通文章 Axigen AXIMilter 过滤模块远程格式串的处理漏洞
    普通文章 eXPressor v1.1 脱壳技术
    普通文章 IBM AIX逻辑卷标管理器命令本地的缓冲区溢出漏洞
    普通文章 IBM AIX 的 uspchrp 命令触发本地缓冲区溢出漏洞
    普通文章 多数互联网论坛存在大量漏洞 可能传播木马
    普通文章 卡巴斯基赈灾行动KAV7.0免费送一年
    普通文章 Google修补网站排行漏洞
    热门文章
    普通文章隐藏VPN传入的连接
    普通文章也说vpn
    普通文章IrfanView FlashPix(*.fpx)文件远程堆溢出漏洞
    普通文章Persits Software XUpload.ocx 含远程栈溢出漏洞
    普通文章最新校内xss漏洞加利用worm
    普通文章地中海海底光缆断裂 导致埃及等国网络中断
    普通文章微软TCP/IP漏洞很容易被黑客利用
    普通文章浙江警方提醒春节期间谨防网络诈骗
    普通文章我国人均收到垃圾邮件330封 经济损失近200亿元
    普通文章我国杀毒软件厂商首介入奥运网络安全应急服务
    精彩专题