|
|
| 首页 | 技术文章 | 软件下载 | 博客 | 论坛 | 精品教程 | 黑客动画 | 视频资源 | 在线服务 | 黑客游戏 | | ||||
|
|
||||||||
|
||||||||
|
|||||
| avserve病毒初步分析 | |||||
作者:mejy 文章来源:http://blog.csdn.net/sunwear 点击数: 更新时间:2005-2-15 ![]() |
|||||
|
声明:本文仅供研究使用,任何人利用本文涉及的技术造成的不当后果由自己承担! 由于本人第一次分析病毒,很多不正确的地方请各位大侠指正!!! 本人第一次写本文时尚未有官方资料出来!有些地方肯定不是很准确!请谅解欢迎指正! 反汇编会发现输入表只有几个简单的函数。 004027CE > B8 DD274000 MOV EAX,23918_up.004027DD 用OD载入程序停在这里。 载入时,提示是压缩过得!检测工具识别不出什么壳,自己试着脱一下吧!在脱壳过程中感觉壳里面包含着壳自动 复制,传播的代码!脱掉壳之后感觉其影响力要小多了!不知道对不对,先脱壳吧! 代码:-------------------------------------------------------------------------------- 004027CE > B8 DD274000 MOV EAX,23918_up.004027DD 004027D3 8000 28 ADD BYTE PTR DS:[EAX],28 004027D6 40 INC EAX 004027D7 8100 67452301 ADD DWORD PTR DS:[EAX],1234567 //单步走到这里,下面的代码改变 004027DD 90 NOP 004027DE A9 521DFF50 TEST EAX,50FF1D52 004027E3 64:FF35 00000000 PUSH DWORD PTR FS:[0] 004027EA 64:8925 00000000 MOV DWORD PTR FS:[0],ESP 004027F1 33C0 XOR EAX,EAX 004027F3 8908 MOV DWORD PTR DS:[EAX],ECX 变成: 004027CE > B8 DD274000 MOV EAX,23918_up.004027DD 004027D3 8000 28 ADD BYTE PTR DS:[EAX],28 004027D6 40 INC EAX 004027D7 8100 67452301 ADD DWORD PTR DS:[EAX],1234567 004027DD B8 10984000 MOV EAX,23918_up.00409810 在EAX的地址处设断,然后SHIFT+F9 004027E2 50 PUSH EAX 004027E3 64:FF35 00000000 PUSH DWORD PTR FS:[0] 典型异常标志 004027EA 64:8925 00000000 MOV DWORD PTR FS:[0],ESP 004027F1 33C0 XOR EAX,EAX 004027F3 8908 MOV DWORD PTR DS:[EAX],ECX 00409810 B8 B18740F0 MOV EAX,F04087B1 停在这里 00409815 8D88 82100010 LEA ECX,DWORD PTR DS:[EAX+10001082] 0040981B 8941 01 MOV DWORD PTR DS:[ECX+1],EAX 0040981E 8B5424 04 MOV EDX,DWORD PTR SS:[ESP+4] 00409822 8B52 0C MOV EDX,DWORD PTR DS:[EDX+C] 00409825 C602 E9 MOV BYTE PTR DS:[EDX],0E9 00409828 83C2 05 ADD EDX,5 0040982B 2BCA SUB ECX,EDX 0040982D 894A FC MOV DWORD PTR DS:[EDX-4],ECX 00409830 33C0 XOR EAX,EAX 00409832 C3 RETN 这里返回系统空间,我用Ctrl+F9一直走到下面 00409833 B8 B18740F0 MOV EAX,F04087B1 也可以取消上面的断点,再这里设断,然后单步走,程序可直接到达OEP 00409838 64:8F05 00000000 POP DWORD PTR FS:[0] 0040983F 83C4 04 ADD ESP,4 00409842 55 PUSH EBP 00409843 53 PUSH EBX 060010B5 8945 A0 MOV DWORD PTR SS:[EBP-60],EAX 这里看见PE文件头部特征。 060010B8 837D A0 00 CMP DWORD PTR SS:[EBP-60],0 060010BC 75 07 JNZ SHORT ApiHook.060010C5 060010BE 33C0 XOR EAX,EAX 060010C0 E9 92000000 JMP ApiHook.06001157 。。。第一次来到这里 00340430 85C0 TEST EAX,EAX ; kernel32.ExitProcess 略 00340451 C9 LEAVE ××××××××××××××××××××××××××有一个循环,应该是处理IAT的 00340403 51 PUSH ECX IAT,输入表USER32.DLL 00340404 FF93 8F120010 CALL DWORD PTR DS:[EBX+1000128F] LoadLibrary 0034040A 85C0 TEST EAX,EAX 0034040C 74 3A JE SHORT 00340448 0034040E 8945 FC MOV DWORD PTR SS:[EBP-4],EAX 00340411 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4] 00340414 03D3 ADD EDX,EBX 00340416 8B7E 08 MOV EDI,DWORD PTR DS:[ESI+8] 00340419 03FB ADD EDI,EBX 0034041B 8B02 MOV EAX,DWORD PTR DS:[EDX] 0034041D 85C0 TEST EAX,EAX 0034041F 74 1A JE SHORT 0034043B 00340421 52 PUSH EDX 00340422 8B02 MOV EAX,DWORD PTR DS:[EDX] 00340424 03C3 ADD EAX,EBX 00340426 50 PUSH EAX 00340427 FF75 FC PUSH DWORD PTR SS:[EBP-4] 0034042A FF93 93120010 CALL DWORD PTR DS:[EBX+10001293] 00340430 85C0 TEST EAX,EAX 00340432 74 14 JE SHORT 00340448 00340434 AB STOS DWORD PTR ES:[EDI] 00340435 5A POP EDX 00340436 83C2 04 ADD EDX,4 00340439 ^EB E0 JMP SHORT 0034041B 走过上面来到这里 003401C0 8B4E 2C MOV ECX,DWORD PTR DS:[ESI+2C] 003401C3 8B56 24 MOV EDX,DWORD PTR DS:[ESI+24] 003401C6 0356 08 ADD EDX,DWORD PTR DS:[ESI+8] 003401C9 6A 40 PUSH 40 003401CB 68 00100000 PUSH 1000 003401D0 51 PUSH ECX 003401D1 6A 00 PUSH 0 003401D3 FF12 &nbs |
|||||
| 文章录入:IceRiver 责任编辑:IceRiver | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!) |
| 关于我们 - 版权声明 - 帮助(?) - 广告服务 - 联系我们 - 友情链接 - 用户注册 - | Powered by ICE RIVER - STUDIO |
| » CnXHacker.CoM | © CopyRight 2002-2006, CnXHacker.CoM™, Inc. All Rights Reserved. |