1,设置进程属性为隐藏。这种只能骗一般的人;
2,API钩子勾住任务管理器里的TermiteProcess进程;
3,API全局钩子够上面的那个进程,这样就不怕它用任务管理器之外的工具杀你了;
4,勾住SSDT的函数,如果用卡巴,就有点麻烦,因为它也是用这招,就看谁先取得了。
5,写中断门;
6,写内核态驱动……
……
以上方法,从上往下,一个比一个有效。如果你到了第四层,杀毒软件也未必能干掉你的进程
还有就是使用软件
哑巴进程保护器 2.34
http://www.onlinedown.net/soft/50035.htm
进程保护一般可采用进程隐,apihook等手段,vb本身底层功能相对较弱,很难做到,如果只是不想在任务管理器中被杀,可以把窗口设为隐藏,然后把程序名改为lsass.exe或smss.exe等,你再杀杀看.
如果要求不是太高的话,可以设计成两个进程互相“保护”的形式,每一个上都用一个Timer,不断地检查另一个程序是否在运行,如没有就启动它,就是有点费资源
进程保护程序就是保护一个进程不会因为错误或其它原因人为停止,或者在进程失去响应的时候将其结束再重新打开。如果采取遍历进程的办法可以检测到某个进程是否被停止,但不能检测到进程是否处于“响应”状态。所以最终采取的方法向这个进程发送消息。然后看是否有回应的消息。如果有回应的消息说明正常,否则就认为这个进程出现问题。
Cjb = FindWindow(vbNullString, 要检测进程窗体的标题名)
Qqq = SendMessageTimeout(Cjb, WM_NULL, 0, 0, SMTO_ABORTIFHUNG And SMTO_BLOCK, 3000, lngResult)
If Qqq = 0 Then
进程不正常,停止以后再shell一次
else
进程正常
end if
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)