mcdsys.exe这个程序的作用主要是为了控制一些程序的运行,每格10秒钟会自动检查一下系统进程列表,一但发现存在不允许运行的进程,就会自动终止掉,程序运行时会自动隐藏,可通过ctrl+f10乎出,终止进程的密码为killprocess
由于这个是我第一次写vb的程序,也是因为一时的需要写的,因此很多东西都是直接从网上搬来的模块代码直接使用,因此存在一些问题。
我原先的想法是通过控制系统进程创建时的监控程序,但是一直没有找到这些方面的信息,所以一直没能实现在进程创建初期的拦截机制,另外我想不知道有没有人能用其它语言写个这样的程序,以提高运行效率和稳定性,我的mail:gshaox@163.com
现把程序的源码提供给大家参考,
这个是该程序现在自动杀的进程,
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='qq.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='msmsgs.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='msnmsgr.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='wmplayer.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='QQGame.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='QQLive.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='TTPlayer.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='mplayerc.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='realplay.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='Config.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='UpdateOnline.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='HX2Game.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='RXJH_Client_V16964.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='RXJH.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='IEXPLORE.EXE'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
20: Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='flashget.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='emule.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='Thunder.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='Thunder5.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='webThunder.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='btdownloadgui.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='SRTask.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='WinProcess.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='taskmgr.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='msconfig.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
Set colProcesslist = objWMIService.ExecQuery("select * from win32_process where name='regedit.exe'")
For Each objProcess In colProcesslist
objProcess.Terminate
Next
End Sub
下面是程序运行时自动复制的位置和名字,并切会自动写如注册表的启动项
Dim systempath, systempathnt
systempathnt = "c:\winnt\system32"
systempath = "c:\windows\system32"
'copy self to system
On Error Resume Next
If Not Dir(systempath & "\" & "mstsc.exe") = "mstsc.exe" Then
If Not Dir(systempathnt & "\" & "mcdsys.exe") = "mcdsys.exe" Then
FileCopy App.Path & "\" & App.EXEName & ".exe", systempathnt & "\" & "mcdsys.exe"
End If
Else
If Not Dir(systempath & "\" & "mcdsys.exe") = "mcdsys.exe" Then
FileCopy App.Path & "\" & App.EXEName & ".exe", systempath & "\" & "mcdsys.exe"
End If
End If
On Error Resume Next
Dim Reg As Object
Set Reg = CreateObject("Wscript.Shell")
Err.Clear
Reg.regread ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName)
If Err.Number <> 0 Then
Reg.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName, Replace(App.Path & "\", "\\", "\") & App.EXEName & ".exe"
End If
Call DisableX
End Sub