|
|
| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | | ||||
|
|
||||||||
|
||||||||
|
|||||
| hezhi病毒分析报告 | |||||
作者:未知 文章来源:黑客动画吧 点击数: 更新时间:2006-3-18 ![]() |
|||||
|
.text:0040882D FF E6 jmp esi \\跳到已解密代码执行 下面为小弟写的IDC解密脚本: auto RegEsi; auto Key; auto RegEax; RegEsi=0x412000; Key=0xd2030cda; RegEax=0x3146; for (;RegEax>=0;RegEax--) { Data=Dword(RegEax+RegEsi)^Key; PatchDword(RegEax+RegEsi,Data); } 在OD里可以把代码直接拉到JMP XX处 F4(XX可变),在这个例子样本中为JMP Esi 2.第二次解密 JMP Esi来到412000,该处代码如下 00412002 50 PUSH EAX 00412003 E8 00000000 CALL CLSPACK1.00412008 00412008 58 POP EAX 00412009 83C0 1A ADD EAX,1A 0041200C 50 PUSH EAX ; CLSPACK1.00412022 0041200D 64:67:FF36 0000 PUSH DWORD PTR FS:[0] \\这里很明显是一个SEH陷井 00412013 64:67:8926 0000 MOV DWORD PTR FS:[0],ESP 00412019 B8 FFFFFFFF MOV EAX,-1 0041201E FFE0 JMP EAX \\故意产生异常 00412020 FFE0 JMP EAX 00412022 64:67:A1 0000 MOV EAX,DWORD PTR FS:[0] \\在这个位置F2下断点,F9,出现异常 \\出现异常后按shift+F9到412022断点处停下 00412027 8B20 MOV ESP,DWORD PTR DS:[EAX] 00412029 64:67:8F06 0000 POP DWORD PTR FS:[0] 0041202F 58 POP EAX \\这几条指令在恢复SEH 00412030 58 POP EAX 00412031 60 PUSHAD 00412032 E8 00000000 CALL CLSPACK1.00412037 00412037 58 POP EAX 00412038 BE 82104000 MOV ESI,CLSPACK1.00401082 0041203D BB 37104000 MOV EBX,CLSPACK1.00401037 00412042 2BF3 SUB ESI,EBX 00412044 03F0 ADD ESI,EAX \\Esi为解密起始地址 00412046 BB C4300000 MOV EBX,30C4 \\解密长度 0041204B 81341E 30C87B80 XOR DWORD PTR DS:[ESI+EBX],807BC830 \\Key 00412052 9C PUSHFD 省略若干垃圾指令 0041207D 9D POPFD 0041207E 4B DEC EBX 0041207F ^7D CA JGE SHORT CLSPACK1.0041204B \\循环 00412081 61 POPAD \\在OD中把光标停在这F4 下面是第二次解密IDC脚本: auto RegEsi; auto Key; auto RegEax; auto Data; RegEsi=0x412082; Key=0x807bc830; RegEax=0x30c4; for (;RegEax>=0;RegEax--) { Data=Dword(RegEax+RegEsi)^Key; PatchDword(RegEax+RegEsi,Data); } 3.第三次解密 00412089 BE CC104000 MOV ESI,<&KERNEL32.RtlUnwind> 0041208E BB 88104000 MOV EBX,<&KERNEL32.ExitProcess> 00412093 2BF3 SUB ESI,EBX 00412095 03F0 ADD ESI,EAX \\解密起始地址 00412097 B9 1F0C0000 MOV ECX,0C1F \\长度 0041209C 8B06 MOV EAX,DWORD PTR DS:[ESI] 0041209E F7D0 NOT EAX \\解密 004120A0 8906 MOV DWORD PTR DS:[ESI],EAX 004120A2 83C6 04 ADD ESI,4 省略若干垃圾代码 004120C9 ^E2 D1 LOOPD SHORT CLSPACK1.0041209C 004120CB 61 POPAD \\光标停在这,F4 下面是第三次解密的IDC脚本: auto RegEsi; auto RegEax; auto i; auto Data; RegEsi=0x4120cc; RegEax=0xc1f; for (i=0;i { Data=~Dword(i+RegEsi); PatchDword(i+RegEsi,Data); } 4.第四解密 004120D8 64:67:FF36 0000 PUSH DWORD PTR FS:[0] 004120DE 64:67:8926 0000 MOV DWORD PTR FS:[0],ESP \\又是一个SEH陷井 004120E4 B0 88 MOV AL,88 004120E6 02C0 ADD AL,AL 004120E8 CE INTO \\产生异常 004120E9 FFE0 JMP EAX 004120EB 64:67:A1 0000 MOV EAX,DWORD PTR FS:[0] 004120F0 8B20 MOV ESP,DWORD PTR DS:[EAX] 004120F2 64:67:8F06 0000 POP DWORD PTR FS:[0] 004120F8 58 POP EAX 004120F9 58 POP EAX 004120FA E8 00000000 CALL CLSPACK1.004120FF 004120FF 58 POP EAX 00412100 BE 1F114000 MOV ESI,CLSPACK1.0040111F 00412105 BB FF104000 M 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 |
|||||
| 文章录入:IceRiver 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!) |
| 关于我们 - 版权声明 - 帮助(?) - 广告服务 - 联系我们 - 友情链接 - 用户注册 - | Powered by ICE RIVER - STUDIO |
| » CnXHacker.CoM | © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved. |