问题标签 [detours]

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 投票
1 回答
1820 浏览

c++ - 未找到绕行标识符

我收到错误

有错误的代码:

我完整的头文件:

我就是找不到问题。
我在链接器选项的附加包含中添加了 detours.lib 的目录。

使用弯路 1.5


更新

所以我尝试将 detours 文件本地添加到项目中。

还是同样的错误。

0 投票
0 回答
746 浏览

c++ - 挂钩函数的返回值

我一直在挂钩一些功能以保护我的应用程序,我正在使用 Detours (CDetour),我正在挂钩CreateThread,我的挂钩功能必须与原始功能完全相同。

钩子工作正常,问题是根据msdnIf the function succeeds, the return value is a handle to the new thread.但由于函数被钩子,返回值将是我返回的任何内容,将钩子函数更改为void或其他类型只会使调用没有返回值,主要导致崩溃。如何返回原始函数应返回的值?

0 投票
2 回答
2065 浏览

c++ - MS Detours Express 3.0 未正确挂钩 CreateFile win32 API 函数

我正在尝试使用 MS Detours 挂钩 win32 API 函数“CreateFile”,但是当我通过使用 MS Word 打开 *.doc 文件对其进行测试时,MS Word 加载的 DLL 和字体文件和目录的 CreateFile 调用被重定向到我的 detour函数,但不适用于该 *.doc 文件,但是当我使用记事本打开 *.txt 文件时,该 *.txt 文件的 CreateFile 调用出现在我的迂回函数中。

我正在使用以下代码来挂钩 CreateFile:

提前致谢。

0 投票
2 回答
1488 浏览

delphi - Delphi 如何与 Detours 库互操作?

我正在寻找 Delphi 示例,但我只能找到 C++ 示例代码。

例如,如何在 Delphi 中定义下面的钩子?

0 投票
0 回答
315 浏览

c++ - Windows DLL 向后兼容性

我正在使用 MS detours 3.0 Express 创建一个 DLL 来绕过应用程序的功能。
我使用 StudPE 进入 dll API 并将其连接到应用程序。
一切正常,除了它不能在 windows XP 上运行

Windows 7 工作正常。而且我不知道为什么它不能在 Windows XP 上运行。

我使用 Microsoft Visual Studio 2012 在 Windows 7 x64 机器上编译它。

我正在调用 DllMain 我的代码是:(只是相关代码 - 不完整)

在 WinXP 上,当我尝试运行挂钩的应用程序时没有任何反应。

0 投票
0 回答
544 浏览

c++ - CopyFile2 没有绕道而行

我被困住了。出于某种原因,我需要在 Windows 8 上阻止文件系统的复制功能。直到 Windows 7,ShFileOperation 和 CopyFile 用来做伎俩。但是,在 Windows 8 中,我可以通过 API 监视器进行扫描,因此使用了一个新的 API:CopyFile2 来完成这项工作。所以我需要绕道CopyFile2。

我尝试在 Windows SDK 6.x、7.x 和 Win8 SDK 中使用 Detour 2.x 和 3.x。以下是代码片段 -

DetourAttach 返回 0(成功),但我没有收到对我的 Trampoline 函数的调用。我知道我的 dll 正在 Explorer 中加载,因为其他 API 正在绕道 - 我也在 ProcessExplorer 中检查过它。

microsoft Detour 库是否支持 win8 API?如果是,我做错了什么吗?如果否,我应该将此报告为错误吗?

-- 此外,我创建了一个名为 CopyFile2 的示例应用程序。我的 Dll 正在加载,DetourAttach 返回 0。但是,我仍然无法获取到 Detour_CopyFile2 的跟踪信息

0 投票
1 回答
2688 浏览

c++ - C++ Detours 3.0 express on MVS 2012 错误“找不到标识符”

我的编译器:Microsoft Visual Studio 2012。
我的代码在 detours 2.1 上可以正常工作,但我无法再用我的编译器编译它(模块对 SAFESEH 图像不安全。)。我需要使用像 MVS2005 这样的旧编译器,但我不想这样做。

所以我需要更新我的代码并使用 detours 3.0。

编辑了一些东西,得到了 4 个错误。

这是代码块:

DetourFunction 错误在这里

DetourRemove 此处的错误


更新

因此,我尝试将其更改为 DetourAttach 和 DetourDetach,但出现 PBYTE to PVOID 错误。

0 投票
3 回答
956 浏览

c++ - 使用 MS 绕道防止 Winsock 注入

我在某处阅读了一段代码,该代码承诺它可以保护应用程序 Winsock 功能免受数据包编辑器的影响。

我运行一个游戏服务器,这对我来说真是个好消息。但这真的可能吗?就像在我的游戏可执行文件中添加一个使用 detours 的 DLL 来保护我的 winsock 函数不被劫持?

就像他们将数据包编辑器连接到我的应用程序一样,他们不会在数据包记录中看到任何内容?

或者将我的应用程序的过程从这些工具中隐藏起来是一种更好的方法?

谢谢你。请讨论。

我找到的代码:http: //pastebin.com/XtfSHxBL

0 投票
1 回答
1158 浏览

c++ - 使用 detours DLL 挂钩从函数中读取数据

我想知道是否可以从函数中读取数据。
我知道我可以使用 detours 来挂钩函数并自由更改参数。
但这就是我对使用弯路的理解。

例如:

该代码绕过游戏中的加密密钥函数,并在调用它之前更改参数。因此,当它被调用时,参数已被更改。

我在想如果函数内部有数据而不是参数怎么办。
如何更改或显示它?

我应该重写整个函数吗?

我想要得到的是使用游戏本身来加密和解密数据包。
我已经挂钩了执行此操作的函数,但我所能做的就是更改参数。
游戏只是继续它的事情。

我在加密之前更改了数据包,因此发送了另一个数据包。但这只有在我尝试发送数据包并对其进行修改时才会发生。我想从字面上调用该函数,而无需等待游戏调用它,然后就可以修改值。
就像我将使用游戏输入我自己的未加密数据包并按加密以查看加密值,反之亦然。

解释或教程链接会很棒。


如果我像这样:

并将返回称为:

0 投票
1 回答
726 浏览

c++ - 绕行的函数在 printf 上崩溃

我在应用程序中做了一个 DLL 挂钩。
像这样绕过一个函数:

因此,我尝试通过以下方式显示绕行函数的参数内的值:

但是,当函数被调用并且我显示参数时,应用程序就会崩溃。
但如果我只是离开这样的功能:

它运行正常。为什么会这样?

OLLY 编码器: