繁体   English   中英

当某个进程不活动时如何防止我的 dll 运行

[英]How to prevent my dll from running when a certain process isn't active

所以我想让我的 dll 只能被我的注入器注入,我认为一个很好的方法是只让我的 dll 能够在注入器运行时打开。 但我不知道该怎么做。

正如 Mayur 在评论中提到的,您的 DLL 可以使用EnumProcesses() 枚举正在运行的进程,并获取它们的文件名以寻找与您的注入器匹配的文件。 您可以在DLL_PROCESS_ATTACH阶段在 DLL 的 入口点函数中执行此操作。 如果未检测到注入器,您的入口点可以返回 FALSE 以中止加载。

或者,一种更简单的检测注入器的方法是让它通过全局内核命名空间中的CreateMutex()创建一个命名的互斥锁,然后让 DLL 入口点尝试通过OpenMutex()访问同一个对象,但无法加载如果互斥锁不存在。 有关更多详细信息,请参阅使用命名对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM