问题标签 [easyhook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4838 浏览

java - 当 java 进程被终止时捕获

当有人通过 taskmanager 或 taskkill 控制台命令杀死我的应用程序(java,但这并不重要)时,我如何捕捉到?

我知道我无法在我的应用程序中捕捉到这一点,但也许我可以通过一些与操作系统(当然是 Windows)的挂钩来做到这一点。也许 easyhook 库(http://www.codeplex.com/easyhook)可以帮助我,但我在那里找不到示例。我们的应用程序经常在客户服务器上死掉,我只想知道是谁(或什么)杀死了它。我们确定这不是应用程序问题,似乎 java.exe 进程被 taskmanager 杀死了

0 投票
1 回答
2050 浏览

c# - 挂钩 extTextOut 问题

我正在使用 c# 中的 dll 注入软件,注入的 dll 也在 c# 中,并且我正在将 pinvoke 用于某些系统功能。

使用 extTextOut 时,我将字符串打乱,并且线条混合在一起我做错了什么?

我使用来自 codeplex.com 的 EasyHook 连接了 extTextOut,如下所示:

我的 extTextOut 方法是

如果可以的话,还有另一个问题。我怎样才能不断监视失焦或最小化的窗口(使用这种方法它不能正常工作)

非常感谢!

0 投票
3 回答
4834 浏览

c# - C# 的 EasyHook 替代品

经过大量搜索在 C# 中创建外部应用程序的钩子的方法后,我偶然发现了 EasyHook,这将是理想的。不幸的是周围零社区,该软件自 2008 年以来就没有维护,似乎无法在 Visual Studio 10 下运行,并且在 Visual Studio 2008 下出现问题。

我知道愿意做这种低级工作的程序员通常精通 C/C++,但是如果可能的话,我想避免不得不学习如何在 Windows 下用 C++ 编写代码;)

我也找到了 Deviare,但它仍然是测试版,而且似乎是商业的。它可以是一个替代方案。

有人知道替代图书馆吗?

谢谢

0 投票
1 回答
1172 浏览

c# - How to correctly hook and return GetDlgItemTextA from C++ to C# to C++ from EasyHook

I'm using EasyHook, a C# library for injecting and detouring functions from unmanaged applications. I'm trying to hook onto GetDlgItemTextA, which takes the arguments:

In my hook, I am casting it as:

And my hook is:

Unfortunately, the moment this is called, the hooked application crashes. Is there a better cast I can use to successfully hook onto this function? Thanks!

I've compiled, editted, and confirmed the working condition of my EasyHook setup. This is just casing and hooking only.

0 投票
1 回答
2460 浏览

windows - 我可以挂钩链接库中的函数吗?

使用 EasyHook,我已经成功地为各种 C++ 类挂钩了导出函数和已知的 vtable 函数。在所有这些情况下,目标程序都使用了 DLL。

如果我知道函数入口点的地址,当一个库被链接到目标程序而不是一个单独的库时,是否可以这样做?

0 投票
1 回答
3346 浏览

c# - 来自 c++/c# 的应用程序挂钩 (winsock)

我有一个调用 winsocket 函数的(旧)应用程序:

它目前将其作为ws32_dll.#52导入,而不是正常的名称调用。

我的意图只是能够在主机搜索发生时(应该在应用程序启动时)执行类似打开消息框的操作。

我尝试使用指向 #52 的编译指示创建一个 c++ dll,并将其放在应用程序目录上(包括“exe.local”和“exe.manifest”文件以尝试重定向它),但它加载了 c:\ windows\system32 代替。

之后,我创建了启动进程本身的 ac# 项目(因此从进程对象中获取 PID),向其中添加了 easyhook dll。

我检查了这个例子: http: //www.codeproject.com/KB/DLL/EasyHook64.aspx

将调用更改为:

}

(可能在这里写错了,但项目编译成功@home)。

问题是我不知道我需要做什么来挂钩这个方法<->应用程序本身。

我的意思是.. 剩下的只是用 c#easyhook 进行挂钩(假设应用程序是“foo.exe”)?我需要为easyhook创建一个自定义dll吗?(在这种情况下,我需要在里面定义什么内容?)

我发现它有点...“复杂”的 helloworld 钩子,呵呵。

提前致谢 ;)

0 投票
1 回答
2686 浏览

c# - 如何将 Easyhook 与非托管可执行文件一起使用

我正在尝试在 c# 中进行一些挂钩(我宁愿不使用 Detours 或 c++),所以我一直在使用 EasyHook。

https://easyhook.github.io/

但是当我这样做时

我得到错误:

连接到目标时出错:System.BadImageFormatException:无法加载给定程序集 [SomePathToAnExecutable.exe] 以进行反射。

这是一个有效的 NET 程序集吗?---> System.BadImageFormatException:无法加载文件或程序集 [SomePathToAnExecutable.exe] 或其依赖项之一。该模块应包含程序集清单。

问题 1)我是否认为 SomePathToAnExecutable 是您想要挂钩的过程?

问题2)那么可执行文件是否必须是托管代码?

我也在 codeplex 项目网站上问过,但没有回应。

http://easyhook.codeplex.com/Thread/View.aspx?ThreadId=235616

0 投票
1 回答
2898 浏览

c# - 钩闪应用

如果我在我的 C# 应用程序中加载一个打开与服务器 B 的套接字的 Flash 应用程序 A,是否可以设置一个本地挂钩,以便我可以读取 A 和服务器 B 之间交换的数据包?

  • 如果需要,我可能会获得 Flash 应用程序源,但我不是编写它们的人
  • 我是 C# 的新手(老实说,我仍然想知道为 Windows 编写这种应用程序的最佳语言是什么)和挂钩,所以任何例子都会非常感激:)
  • 我在客户端工作
0 投票
1 回答
1999 浏览

c# - 挂钩 recv 和不可读的缓冲区

我有一个显示 WebBrowser 组件的应用程序,其中包含一个使用服务器创建 XMLSocket 的 flash 应用程序。我现在正在尝试为日志目的挂钩 recv (幸运的是 LocalHook),但是当我尝试读取套接字内容时,我只会得到奇怪的字符,但如果我使用 SpyStudio 设置挂钩,我会得到可读的字符串。这是我使用的代码:

  1. 我用

    /li>
  2. 我设置了我需要的一切

    }

我已经尝试过使用不同的编码但没有成功。附带说明一下,WebBrowser 似乎没有任何问题。

0 投票
2 回答
3602 浏览

c# - System.DllNotFoundException 在 Visual Studio 2010 中使用 EasyHook

我有以下代码:

当我运行该项目时,我收到以下错误:

关于可能导致该错误的任何建议?我添加了对所有需要的 dll 的引用...