求HOOK代码 或类 使程序不能被关闭
思路是这样的! 系统关闭某程序的时候不是要发送某消息么! 我想使用HOOK 屏蔽向我的这个程序发送这个关闭的消息 从而达到自己杀不死的目的。。
不知道这个方法可行不!! 因现在在弄一个小东西,需要用到这个功能,但是对于HOOK 的理解不够! 希望大大们帮下忙
有直接的类或 模块直接用就好了,DLL 就算了 要做的是绿色软件!
[解决办法]
个人认为和根消息没啥太大关系。
禁止打开进程就可以了,一般来说就是HOOK OPENPROCESS这个API,或者说防止调用,让返回值不正确或无法返回都可以。。
想获取OPENPROCESS的地址一般不能直接HOOK,而是在进程的4GB地址空间内搜索kernel32.DLL(之所以要搜索,原因就是不同系统他的位置不一样),然后定位OPENPROCESS函数地址,进而进行修改,VB可以办到。
所以我觉得和关机消息没啥关系,你只要正常获取这个消息然后处理自己的操作就可以了吧。
[解决办法]
有直接的类或 模块直接用就好了,DLL 就算了 要做的是绿色软件!
==============
那我可以说,这几乎是不可能的
你这个功能要用到API Hook,不是那么好搞
我倒是有个C++的例子,不过按你的要求。。。恐怕用不了,而且这个东西翻译成vb也不好做(虽然我做了,但是用的是很奇怪的方法)
[解决办法]
我给你实例吧
加我QQ 285305530
回答 陈辉(chenhui)
[解决办法]
对不起,现在为止还没有这样的代码!
如果真可以这样,那不是病毒都杀不掉了吗~ 不过可以用其它的办法,比如把程序注入到其它线程里,定时检查你的程序是否关闭,如果关了,自动生成程序并再次打开~
好多病毒就是这个原理!
[解决办法]
TerminateProcess的时候不会发送任何消息给程序的
[解决办法]
你说的 "一个hookapi 控件 ",貌似是这个?
http://www.m5home.com/soft/NoTerminateProcess.rar
http://www.m5home.com/bbs/dispbbs.asp?boardID=10&ID=1041&page=1
隐藏进程的DLL,貌似是这个?
http://www.m5home.com/bbs/dispbbs.asp?boardID=10&ID=1452&page=1
CIKE.......貌似......?
[解决办法]
就是HOOK OPENPROCESS 。。。 如果你不计成本--- 还可以HOOK 掉更多消息和API
比如WM CLOSE
NT****之类的