vb HOOK 进程API
我知道进程相关的API有ExitProcess、OpenProcess和TerminateProcess请我我如何下钩子,能让程序拦截下来这个API防止自己被结束?我会用...
我知道进程相关的API有ExitProcess、OpenProcess和TerminateProcess
请我我如何下钩子,能让程序拦截下来这个API防止自己被结束?我会用TerminateProcess结束程序
HJ = TerminateProcess(Phwnd, 0)
比如这里的Phwnd我怎么样获得这个参数,判断是否为自己,然后实施拦截? 展开
请我我如何下钩子,能让程序拦截下来这个API防止自己被结束?我会用TerminateProcess结束程序
HJ = TerminateProcess(Phwnd, 0)
比如这里的Phwnd我怎么样获得这个参数,判断是否为自己,然后实施拦截? 展开
3个回答
展开全部
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
MEHWND=FindWindow(VbNullString,me.caption)
这个就是自己窗口的句柄,即Phwnd参数的值 long型
然后在写 OpenProcess这个的时候
先检测窗口的句柄:
但是与上者不同,这个需要的时候IPwindowname 后面不需传递用VBNULLSTRING
然后判断二者的HWND是否为一个。
今天装的WIN7,还没装VB……
你先将就下看看……
MEHWND=FindWindow(VbNullString,me.caption)
这个就是自己窗口的句柄,即Phwnd参数的值 long型
然后在写 OpenProcess这个的时候
先检测窗口的句柄:
但是与上者不同,这个需要的时候IPwindowname 后面不需传递用VBNULLSTRING
然后判断二者的HWND是否为一个。
今天装的WIN7,还没装VB……
你先将就下看看……
追问
我是想让结束进程的API中的参数为0或者拦截下来。装上VB看看吧,。帮我解决了多给你分。
我今天鼓捣一天都没弄出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你搜索一下吧,vb的hook非常麻烦,而且不稳定,这个最好用C/C++或MASM,就算你Hook了OpenProcess,调用更底层的NtOpenProcess或者直接sysenter你也防不了,更别说icesword这类专业工具了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要想做到是非常麻烦的,因为没有拿个API能保护自己的程序不被结束,如果真的有,那么结束任务的API就没有意义了,除非你做成API注入的方式,这有两点是比较麻烦的:
1、你要防止被谁结束就要注入到谁那,换句话说,就要一个一个的注入
2、注入的过程类似于病毒,容易被系统报毒
代码太长,回复放不下,百度HI我我把代码给你
1、你要防止被谁结束就要注入到谁那,换句话说,就要一个一个的注入
2、注入的过程类似于病毒,容易被系统报毒
代码太长,回复放不下,百度HI我我把代码给你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询