您现在的位置: 骇客基地 >> 黑客文章 >> 黑客攻防 >> 黑客编程 >> 正文

简略分析某外挂外壳
骇客基地 阅读: 时间:2007-6-6 6:02:41 来源:www.hookbase.com
  
【目    标】:英雄王座 v0.001.014 
【工    具】:Olydbg1.1(diy版)、LORDPE、ImportREC1.6F 
【任    务】:脱马甲 
【操作平台】:Windows Xp sp2 
【作    者】:loveboom[DFCG][FCG][US] 
【简要说明】:这里一个比较奇怪的外壳,在外面看不到关于这个壳的任何说明,壳通过一个DLL对原程序进行解压,解压完毕执行原程序,是一个比较有新意的加壳方式。 
【详细过程】: 
OD没什么特别的设置,打开所有异常项就行了。 
先直接用Lordpe 看看这个壳的一点信息: 

比较有意思,程序只用一个DLL来解压并运行程序, 
因为壳是通过DLL解压后,再运行,所以我们不能直接让OD停在OEP处,因为OD一般是在程序的oep处下个cc断,这样才会中断在程序入口处。改一下OD的设置: 
让OD中断在系统DLL中。 
这样就可以加载程序了,因为壳后面会改IAT到壳里,所以我们先要在程序里新增一个段。我的做法是用winhex新键一个大小为35KB(这个因IAT大小而定)的空白文件,然后用LORDPE载入程序文件并新增一个段,选择从磁盘载入段就行了。 
最下面那个段就是我新加的. 
现在再次用OD载入目标程序,现在中断在系统中: 
7C921231    C3              RETN                                     ; 中断在系统dll中 
7C921232    8BFF            MOV EDI,EDI 
断下后在程序的CODE段下F2断点: 
然后按F9运行程序,运行后,程序中断在ShellDll.dll中,也就是DLL解码程序文件处: 
100025A2    8BCE            MOV ECX,ESI                              ; 如果没有解压完跳到这里继续 
100025A4    6A 01           PUSH 1 
100025A6    8B11            MOV EDX,DWORD PTR DS:[ECX]               ; 中断在这里 
100025A8    895424 18       MOV DWORD PTR SS:[ESP+18],EDX            ; 这里的代码对原程序进行解码. 
100025AC    8B41 04         MOV EAX,DWORD PTR DS:[ECX+4] 
100025AF    894424 1C       MOV DWORD PTR SS:[ESP+1C],EAX 
100025B3    8B51 08         MOV EDX,DWORD PTR DS:[ECX+8] 
100025B6    895424 20       MOV DWORD PTR SS:[ESP+20],EDX 
100025BA    8D5424 18       LEA EDX,DWORD PTR SS:[ESP+18] 
100025BE    8B41 0C         MOV EAX,DWORD PTR DS:[ECX+C] 
100025C1    8D4C24 28       LEA ECX,DWORD PTR SS:[ESP+28] 
100025C5    51              PUSH ECX 
100025C6    55              PUSH EBP 
100025C7    52              PUSH EDX 
100025C8    8D4C24 20       LEA ECX,DWORD PTR SS:[ESP+20] 
100025CC    894424 30       MOV DWORD PTR SS:[ESP+30],EAX 
100025D0    E8 5BEBFFFF     CALL 10001130 
100025D5    8B4C24 24       MOV ECX,DWORD PTR SS:[ESP+24] 
100025D9    8B5424 28       MOV EDX,DWORD PTR SS:[ESP+28] 
100025DD    8BC6            MOV EAX,ESI 
100025DF    83C6 10         ADD ESI,10 
100025E2    4B              DEC EBX 
100025E3    8908            MOV DWORD PTR DS:[EAX],ECX 
100025E5    8B4C24 2C       MOV ECX,DWORD PTR SS:[ESP+2C] 
100025E9    8950 04         MOV DWORD PTR DS:[EAX+4],EDX 
100025EC    8B5424 30       MOV EDX,DWORD PTR SS:[ESP+30] 
100025F0    8948 08         MOV DWORD PTR DS:[EAX+8],ECX 
100025F3    8950 0C         MOV DWORD PTR DS:[EAX+C],EDX 
100025F6  ^ 75 AA           JNZ SHORT 100025A2                       ; 没解压完跳回去 
100025F8    5D              POP EBP 
100025F9    5B              POP EBX 
100025FA    8D4C24 08       LEA ECX,DWORD PTR SS:[ESP+8] 
100025FE    C74424 34 FFFFF>MOV DWORD PTR SS:[ESP+34],-1 
10002606    C1E7 04         SHL EDI,4 
10002609    E8 22EAFFFF     CALL 10001030 
1000260E    8B4C24 2C       MOV ECX,DWORD PTR SS:[ESP+2C] 
10002612    8BC7            MOV EAX,EDI 
10002614    5F              POP EDI 
10002615    5E              POP ESI 
10002616    64:890D 0000000>MOV DWORD PTR FS:[0],ECX 
1000261D    83C4 30         ADD ESP,30 
10002620    C2 1000         RETN 10                                  ; 我们可以直接在这里按F4,执行到这里 
断下后,直接F4执行到10002620处,注意因为OD在程序OEP处下了cc,这里解码后的OEP部分代码错误,所以我们要在这时改一个OEP代码,然后再改回去就行了。操作完毕后再一次CODE段断点,这样就到了IAT处理块,我们来分析一下IAT的处理: 
1000236B    8B4424 0C       MOV EAX,DWORD PTR SS:[ESP+C] 
1000236F    C606 E9         MOV BYTE PTR DS:[ESI],0E9                ; 再一次下段后中断在这里,这里填入远程跳,让IAT的部分去壳里 
10002372    2BC6            SUB EAX,ESI                              ; 计算跳转的距离 
10002374    83C0 FB         ADD EAX,-5 
10002377    8946 01         MOV DWORD PTR DS:[ESI+1],EAX             ; 填入跳去远程地址 
1000237A    8B5424 14       MOV EDX,DWORD PTR SS:[ESP+14]            ; 取要保存输入表的地址 
1000237E    8B4424 20       MOV EAX,DWORD PTR SS:[ESP+20]            ; 取出跳去IAT的代码,用于然后比较,跳去API一般是 ff25,ff15之类的等 
10002382    3D 2D8B0000     CMP EAX,8B2D                         &n

[1] [2] [3] [4] [5] [6] 下一页

今天广告
参与评论:
注意事项:
【简略分析某外挂外壳】文章由骇客基地网上搜集,其立场行为并不代表本站。
如果您发现该文章若无意中侵犯到您的权利,请联系我们!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
最近更新
最新推荐
     
 
黑客首页 | 服务指南 | 软件发布  | 关于我们 | 本站声明  | 隐私声明 | 诚征英才 | 网站地图 | 友情链接 |
 
 
中国·黑客·骇客·基地 请使用IE6.0版本, 分辩率1024×768进行浏览 www.hookbase.com 站长:利客 Email:hookbase@163.com
Copyright © 2004-2009 All Rights Reserved. 粤ICP备05000985号