问题描述
我试图在用户启动时自动向每个进程(包括 GUI)注入 dll。我的 DLL 挂钩了 winapi 的 DoDragDrop 方法并与服务器通信以决定允许或禁止拖放过程。我使用easyhook(特别是this教程)来挂钩部分。我为我的代码创建了一个要点:Gist
在 this url 中,它说:对 GUI 应用程序不可靠。坚持使用控制台应用程序。难怪它在 microsoft edge 和 chrome 中不起作用。 我还尝试了这些 url 中的代码部分: first second 最后,我已经certificated 我的 dll。
除了 appcertdlls 之外还有其他方法吗?提前致谢。
编辑:我不能使用 appinitdlls,有些用户可能启用了安全启动。
Edit2:好像有些教程中的 dll 是在 system32 下(this 和 this),我也在 system32 下移动了 mine,但它没有 工作。
解决方法
可以使用 PsSetLoadImageNotifyRoutine,尽管它是内核模式下的解决方案。