荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: conjure (等差数列), 信区: Security
标  题: 如何隐藏程序的运行
发信站: 荔园晨风BBS站 (Wed Nov  6 19:08:02 2002), 转信

隐藏一个程序的运行最简单的方法是将窗体的Visible设为False。但是只要用
Ctrl+Alt+Del将程序列表呼出就完全露馅了。那么怎样彻底隐藏正在运行的程序呢?其实很
简单。
我们知道,后台运行的程序有很多。但是只有一部分出现在程序列表里,多数系统程序并不
出现。实际上,被注册成为“服务器”的进程不会出现在程序列表里。
所用API函数:
Private Declare Function GetCurrentProcessId Lib "kernel32" Alias
"GetCurrentProcessId" () As Long
这个函数可以获得当前进程一个唯一的标识符。
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal
dwProcessID As Long, ByVal dwType As Long) As Long
这个函数可以将进程 ID 号为dwProcessID的进程注册或取消注册为“服务器”。
所用常量:
这里的常量也就是dwType的值。
Const RSP_SIMPLE_SERVICE = 1
注册为“服务器”。
Const RSP_UNREGISTER_SERVICE = 0
取消“服务器”注册。
程序:
Public Sub MakeMeService()
Dim pid As Long, reserv As Long
'获取当前进程ID
pid = GetCurrentProcessId()
'注册为服务器
regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
End Sub
Public Sub UnMakeMeService()
Dim pid As Long, reserv As Long
'获取当前进程ID
pid = GetCurrentProcessId()
'取消服务器注册
regserv = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
End Sub
不过用这种方法也不能保证程序运行时不被查到,如用 程序猎手 就可以查出来。

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.36.29]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店