怎么提取病毒的特征代码?

如题灬谢谢..... 如题灬谢谢.. 展开
 我来答
匿名用户
2013-11-09
展开全部
推荐】提取病毒特征码

什么是特征码:
程序运行时,在内存中为完成特定的动作,要有特殊的指令,
一个程序在运行时,同一内存地址的指令是相同的
同一个程序中,一段连续的地址(它的指令相同),那么我截取这段地址,
就可以判断它是不是这个程序。
为了防止出现病毒的误查杀,可以提取出多段特征码。

在WINNT下面的NOTEPAD.EXE的反汇编程序

01006420 > $ 55 PUSH EBP
01006421 . 8BEC MOV EBP,ESP
01006423 . 6A FF PUSH -1
01006425 . 68 88180001 PUSH NOTEPAD.01001888
0100642A . 68 D0650001 PUSH <JMP.&MSVCRT._except_handler3> ; SE handler installation
0100642F . 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
01006435 . 50 PUSH EAX
01006436 . 64:8925 000000>MOV DWORD PTR FS:[0],ESP
0100643D . 83C4 98 ADD ESP,-68
01006440 . 53 PUSH EBX
01006441 . 56 PUSH ESI
01006442 . 57 PUSH EDI
01006443 . 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
01006446 . C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
0100644D . 6A 02 PUSH 2
0100644F . FF15 60110001 CALL DWORD PTR DS:[<&MSVCRT.__set_app_ty>; msvcrt.__set_app_type
01006455 . 83C4 04 ADD ESP,4
01006458 . C705 38990001 >MOV DWORD PTR DS:[1009938],-1
01006462 . C705 3C990001 >MOV DWORD PTR DS:[100993C],-1
0100646C . FF15 5C110001 CALL DWORD PTR DS:[<&MSVCRT.__p__fmode>] ; msvcrt.__p__fmode
01006472 . 8B0D 44880001 MOV ECX,DWORD PTR DS:[1008844]
01006478 . 8908 MOV DWORD PTR DS:[EAX],ECX
0100647A . FF15 4C110001 CALL DWORD PTR DS:[<&MSVCRT.__p__commode>; msvcrt.__p__commode
01006480 . 8B15 40880001 MOV EDX,DWORD PTR DS:[1008840]
01006486 . 8910 MOV DWORD PTR DS:[EAX],EDX
01006488 . A1 54110001 MOV EAX,DWORD PTR DS:[<&MSVCRT._adjust_f>
0100648D . 8B08 MOV ECX,DWORD PTR DS:[EAX]
0100648F . 890D 40990001 MOV DWORD PTR DS:[1009940],ECX
01006495 . E8 86010000 CALL NOTEPAD.01006620
0100649A . A1 C0850001 MOV EAX,DWORD PTR DS:[10085C0]
0100649F . 85C0 TEST EAX,EAX
010064A1 . 75 0E JNZ SHORT NOTEPAD.010064B1
010064A3 . 68 10660001 PUSH NOTEPAD.01006610
010064A8 . FF15 50110001 CALL DWORD PTR DS:[<&MSVCRT.__setusermat>; msvcrt.__setusermatherr
010064AE . 83C4 04 ADD ESP,4
010064B1 > E8 3A010000 CALL NOTEPAD.010065F0
010064B6 . 68 0C800001 PUSH NOTEPAD.0100800C
010064BB . 68 08800001 PUSH NOTEPAD.01008008
010064C0 . E8 17010000 CALL <JMP.&MSVCRT._initterm>
010064C5 . 83C4 08 ADD ESP,8
010064C8 . 8B15 3C880001 MOV EDX,DWORD PTR DS:[100883C]
010064CE . 8955 94 MOV DWORD PTR SS:[EBP-6C],EDX
010064D1 . 8D45 94 LEA EAX,DWORD PTR SS:[EBP-6C]
010064D4 . 50 PUSH EAX
010064D5 . 8B0D 38880001 MOV ECX,DWORD PTR DS:[1008838]
010064DB . 51 PUSH ECX
010064DC . 8D55 9C LEA EDX,DWORD PTR SS:[EBP-64]
010064DF . 52 PUSH EDX
010064E0 . 8D45 90 LEA EAX,DWORD PTR SS:[EBP-70]
010064E3 . 50 PUSH EAX
010064E4 . 8D4D A0 LEA ECX,DWORD PTR SS:[EBP-60]
010064E7 . 51 PUSH ECX
010064E8 . FF15 48110001 CALL DWORD PTR DS:[<&MSVCRT.__getmainarg>; msvcrt.__getmainargs
010064EE . 83C4 14 ADD ESP,14
010064F1 . 68 04800001 PUSH NOTEPAD.01008004
010064F6 . 68 00800001 PUSH NOTEPAD.01008000
010064FB . E8 DC000000 CALL <JMP.&MSVCRT._initterm>

我们取 地址 01006420 到 0100642A 的指令(杀毒软件都是取核心部分的地址代码),如果别的程序的指令和他不一样,那这个程序就是病毒。通常杀毒软件会提取3处以上的关键代码(程序没有这段代码就无法感染文件或无法启动),如果在同一个EXE都存在则这个文件就是病毒
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式