我试图关闭一个使用Win32函数在Windows上进程持有的互斥锁.这可以使用procexp完成,但我需要在不使用procexp GUI的情况下以编程方式完成.
方法1:
我尝试使用EasyHook将dll注入到进程中,然后从注入的线程中尝试以下操作: - OpenMutex
- ReleaseMutex它给了我ERROR_NOT_OWNER错误可能是因为发布是在与调用AcquireMutex的线程不同的线程上调用的.
方法2: 注入dll后,我尝试使用mHook挂钩CreateMutex.钩住的CreateMutex只回调了原始的CreateMutex.但这只会使应用程序崩溃.
我可以使用procexp关闭互斥锁,但我需要以编程方式执行此操作.procexp如何做到这一点?如何在没有任何内核模式代码的情况下以编程方式完成?
使用NtQuerySystemInformation()来检索打开句柄的数组,循环遍历数组,直到在目标进程中找到所需的互斥锁句柄,然后DuplicateHandle()
通过指定DUPLICATE_CLOSE_SOURCE
标志将其关闭.
以下文章更详细地解释了它:
归档时间: |
|
查看次数: |
1506 次 |
最近记录: |