RSS
热门关键字:  江民 病毒库  kv2007  瑞星  江民  迅雷
当前位置 :| 主页>安全相关>样本分析>

手脱加三层壳(未知壳+UPX壳+未知壳)的病毒样本程序

来源:中天在线 作者:Coderui 时间:2008-06-05 Tag:脱壳   手动   点击:
///////////////////////////////////////////////////////////////////////////////////////////////
文件名称:手脱加三层壳(未知壳+UPX壳+未知壳)的病毒样本程序
目标程序:病毒样本
操作环境:Windows XP-SP2
使用工具:Ollydbg 1.10版
编写作者:Coderui
编写时间:2008年05月22日
///////////////////////////////////////////////////////////////////////////////////////////////
------------------------------------------------------------------------------------
  第一层壳是很容易一眼就可以看出来关键跳转的,第二层壳是使用ESP守恒定义就可以轻松解决的,但第三层壳初步拿来时是不太好分析的。因为第三层壳中有复杂的嵌套循环跳转,并且在动态跟踪分析时代码严重受到花指令的干扰和影响,不小心动一动的话,代码结构就都变了。使用过下内存执行断点的方法,效果不是很理想。我最开始全部都是利用单步跟踪,然后根据规律和结构去一点点的向循环的外部跳转的。最后发现该壳结束时需要用到的那个跨段大跳的指令没有被花指令干扰到,所以还是很容易就把壳全部脱掉了。看来多分析、多看、多观察、多想、多思考对脱壳来说还是非常重要的,呵呵。
------------------------------------------------------------------------------------
OD设置:(OD设置为不忽略任何异常。[F2]:下软断点、[F4]:执行到当前代码处、[F7]:单步步入、[F8]单步步过、[F9]运行。)

脱第一层壳:(未知壳)
0040C000 >  60              PUSHAD                                   ; 第一层壳入口。
0040C001    61              POPAD
0040C002    9C              PUSHFD
0040C003    9D              POPFD
0040C004    50              PUSH EAX
0040C005    53              PUSH EBX
0040C006    51              PUSH ECX
0040C007    59              POP ECX
0040C008    5B              POP EBX
0040C009    58              POP EAX
0040C00A    74 02           JE SHORT 0.0040C00E
0040C00C    75 00           JNZ SHORT 0.0040C00E
0040C00E    E9 00000000     JMP 0.0040C013
0040C013    68 00974000     PUSH 0.00409700
0040C018    C3              RETN                                     ; 这行代码是第一层壳结束的地方,是一个跨段大跳。

脱第二层壳:(UPX壳)
00409700    60              PUSHAD                                   ; 第二层壳入口,[F8]向下走一步。
00409701    BE 00704000     MOV ESI,0.00407000                       ; 使用命令[HR ESP]下硬件断点,[F9]运行。
00409706    8DBE 00A0FFFF   LEA EDI,DWORD PTR DS:[ESI+FFFFA000]
0040970C    57              PUSH EDI
0040970D    89E5            MOV EBP,ESP
0040970F    8D9C24 80C1FFFF LEA EBX,DWORD PTR SS:[ESP-3E80]
00409716    31C0            XOR EAX,EAX
00409718    50              PUSH EAX
00409719    39DC            CMP ESP,EBX
0040971B  ^ 75 FB           JNZ SHORT 0.00409718
0040971D    46              INC ESI
0040971E    46              INC ESI
0040971F    53              PUSH EBX
00409720    68 43770000     PUSH 7743
00409725    57              PUSH EDI
00409726    83C3 04         ADD EBX,4
上一篇:没有了
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册