C++ Proxy DLL (64-Bit)

C++ Proxy DLL (64-Bit)

本文关键字:64-Bit DLL Proxy C++      更新时间:2023-10-16

我使用一个名为wrappit的工具生成代理dll文件。该工具可以在这里找到:http://www.codeproject.com/Articles/16541/Create-your-Proxy-DLLs-automatically

但是目标DLL被编译为64位,并且由于Visual Studio不支持64位内联程序集,并且不知道任何其他选项,因此我无法进一步操作。

这是一个函数:

extern "C" __declspec(naked) void __stdcall __E__312__()
{
__asm
    {
    jmp p[312*4];
    }
}

不支持裸/内联 asm,并给出编译器错误。

我能做什么?

x64 世界中没有内联 asm,即使您找到一些替换(内联函数?不支持__declspec(裸体)

你到底想做什么?您是否正在尝试拦截外来(为您)DLL中的某些调用?

如果是这样的话,Microsoft有一种东西叫弯路,听说还不错,永远不要用

http://research.microsoft.com/en-us/projects/detours/

你可能想看看 MinHook 作为替代方案,这个很好

http://www.codeproject.com/Articles/44326/MinHook-The-Minimalistic-x-x-API-Hooking-Libra

此外,您可以使用 Deviare in-proc 拦截任何函数作为绕道替代方案。它在 x86 和 x64 中都能完美运行,它是开源的,维护得很好。