具体来说,我想听听程序何时运行并记录以下信息:时间戳、可执行文件、Windows 名称和用户。
E3
问问题
383 次
5 回答
1
或者,使用 WMI 界面找出正在运行的内容并采取适当的措施。在下面的 VBScript 代码中,正在查询 WMI 子系统Select * from Win32_Process
以更改进程优先级。找出可用的其他属性Win32_Process
,您应该找到朝着您想要的方向前进的东西。
Const NORMAL_PRIORITY = 32
Const LOW_PRIORITY = 64
Const REALTIME_PRIORITY = 128
Const HIGH_PRIORITY = 256
Const BELOWNORMAL_PRIORITY = 16384
Const ABOVENORMAL_PRIORITY = 32768
Function SetPriority( sProcess, nPriority )
Dim sComputer
Dim oWMIService
Dim cProcesses
Dim oProcess
Dim bDone
bDone = False
sComputer = "."
Set oWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
Set cProcesses = oWMIService.ExecQuery ("Select * from Win32_Process Where Name = '" & sProcess & "'")
For Each oProcess in cProcesses
oProcess.SetPriority( nPriority )
bDone = True
Next
SetPriority = bDone
End Function
于 2008-10-09T06:33:31.167 回答
1
这样做最淫秽的方式是谷歌桌面方式
,即让您的 DLL 加载到曾经启动的每个进程中并记录信息。
如果您更感兴趣,请安装 google 桌面并观察其 dll 加载到您的进程中。然后在注册表中查看它是否执行此操作。
请注意,这正在进入类似病毒的行为领域。
于 2008-10-09T09:02:20.400 回答
1
我会使用 PSAPI 函数EnumProcesses () 来定期获取正在运行的进程列表。
于 2008-10-09T10:41:47.437 回答
0
研究使用 Perfmon API(查看 MSDN 以获取参考)。
于 2008-10-09T05:30:18.453 回答