c# - EasyHook 库使用
问题描述
我查看了 EasyHook 及其教程示例,甚至使用我自己的来自 advapi32.dll 的 API 实现了 LocalHook,当我从运行挂钩代码的同一个应用程序进行调用时,LocalHook 工作,但是当我调用从另一个外部进程挂钩的 API。我想我对从外部进程拦截的假设是错误的。
所以现在我正在查看 RemoteHook,我的印象是您需要专门构建您的注入 DLL 并将其注入到已知的进程/可执行文件中 - 然而,这不是我的目标/场景。目标是拦截对存在于 advapi32.dll 中的 API 的调用,而不管进行调用的进程如何 - 即来自任何(未知)进程。我相信这就是所谓的 GlobalHook。那么,是否有可能以一种方式编写 GlobalHook,即从我的 GUI 应用程序将拦截任何进程对特定 Win32 DLL 或 .NET DLL(如 system.security.cryptography.algorithms.dll)中特定 API 的调用(以及如何做我一般都知道,这个 DLL 使用了哪些 Win32 API(如果有的话)?或者我应该切换到 MS Detour 库来实现全局挂钩吗?是否使用 SetWindowsHookEx 触发了防病毒程序来实现全局挂钩?
解决方案
推荐阅读
- python - 如何制作一个由pyqt5中的按钮触发的圆圈?
- python - 在子进程运行时读取日志文件
- c - ADC 中断正在干扰 STM32 上的 while(1) 循环。我怎样才能解决这个问题?
- kubernetes-helm - 使用 Helm3 在 Kubernetes Minikube 上安装 Prometheus Operator 时出现问题
- c++ - c++ 新手:函数返回类型的问题
- c# - 为 MongoDb 生成 _id
- java - java代理将请求传递给上游应用程序
- css - 更改 nativeElement.className 后 css 类不生效
- java - request.getParameter on
- sql-server - pyodbc 比直接 SQL 慢 3 倍