Public Const SW_HIDE = 0 '隐藏窗口,活动状态给令一个窗口 Public Const GW_OWNER = 4 '寻找窗口的所有者Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As _ Long, ByVal wCmd As Long) As LongDeclare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd _ As Long, ByVal nCmdShow As Long) As Long 再将下面的代码添加到窗体的Load事件中即可实现程序不在任务栏中显示的目的:Dim rc As Long Dim OwnerhWnd As Long'让窗体不可见 Me.Visible = False '从任务管理器列表中移除 OwnerhWnd = GetWindow(Me.hWnd, GW_OWNER) rc = ShowWindow(OwnerhWnd, SW_HIDE)
Public RealQuit As Boolean Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If Not RealQuit Then 'when you want quit Program Set RealQuit=True
Shell (App.Path + "\" + App.EXEName) End End If End Sub
to a11s(不得其解) 这可能是对付文明人的不错办法,可是如果暴力关闭(Terminate...) 感觉上就不行了...
另外,即使是以服务方式启动,进程里面也是一样可以显示出来的,只不过杀不掉而已。如果真的有你想要的那种方法,试想,如果用来写一个trojan,那将是一件多么伟大的事情啊。不过,我见过一个木马,它启动了两个本体,然后互相监视,只要其中的一个被关闭了,另一个立刻重新运行被关闭的程序。不知道你这样做能不能满足你老板的要求?
Public Const GW_OWNER = 4 '寻找窗口的所有者Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As _
Long, ByVal wCmd As Long) As LongDeclare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd _
As Long, ByVal nCmdShow As Long) As Long 再将下面的代码添加到窗体的Load事件中即可实现程序不在任务栏中显示的目的:Dim rc As Long
Dim OwnerhWnd As Long'让窗体不可见
Me.Visible = False
'从任务管理器列表中移除
OwnerhWnd = GetWindow(Me.hWnd, GW_OWNER)
rc = ShowWindow(OwnerhWnd, SW_HIDE)
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If Not RealQuit Then 'when you want quit Program Set RealQuit=True
Shell (App.Path + "\" + App.EXEName)
End
End If
End Sub
这可能是对付文明人的不错办法,可是如果暴力关闭(Terminate...)
感觉上就不行了...
这个操作很烦,你可以到网上找找相关资料to: rappercn(rapper) 我看不是人家老板没有常识很多病毒都有这个功能的呀,难道你没见过?
但是结束进程时根本收不到所以只能使用进程相互监视了
'''''''''1 CreateProcess 建立新的进程
2 FindWindow 寻找有没有副本在运行
3 如果找不到,那么运行副本,反之继续监视进程注入
1 CreateRemoteThread 到Explorer (在XP下好像能看出来)杀掉Task Manager
1 GetActiveWindow
2 getwindowtext 如果是"任务管理器"那么...Kill it or Hide it制造一个假的Task Manager
略...
另外,进程确实是可以设为无法被杀掉的。不信自己去杀掉名为 svchost.exe 的进程看行不行。
想不用户看的进程。
一个第三方的杀不掉的进程至于SVCHOST.EXE 用WinXP察看,它的属性是SYSTEM(这个可能是系统服务,也有可能是跟内核有密切关系)在有一种可能是TaskManager作怪,他不让你杀,使用第三方软件也许能杀掉
不过这个问题的确很复杂,如果每个人都隐藏进程,病毒岂不漫天飞。
1、如果只为在taskman中隐藏,可以使用api钩子屏蔽taskman中的api调用。
2、如果想杀不掉,是非常困难的。不过可以利用cih的技术。
1 使用dll注入,我见过一个高手连用两次dll注入,基本上就把自己隐藏了。
2 上面的方法也可以被杀,不过对一般PC使用者购高了。