C++ Proxy DLL (64-Bit)
C++ Proxy DLL (64-Bit)
我使用一个名为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 中都能完美运行,它是开源的,维护得很好。
相关文章:
- 从C/C++(Win64)中的内存加载64位DLL
- WinAPI IcmpSendEcho on 64-bit platform
- 在64位DLL中访问函数的错误
- 仅在测试中"dlopen failed: is 32-bit instead of 64-bit"
- CMake 64-bit with SFML 64-bit
- boost 1.69 visual studio 2017 64-bit
- Windows无法看到64位dll
- 64位DLL中的CreateThread不起作用
- 如何在 64 位 DLL 中查找导出函数的地址?
- Visual Studio将非托管的64位DLL复制到SysWOW64,而不是System32
- VS2012正在查找64位dll而不是32位
- 在我的项目中调用 64 位 Dll,32 位 VC++
- gtkmm 3 windows 64 bit
- C++ Proxy DLL (64-Bit)
- Linking LAPACK, 64-bit, Visual Studio 2013
- 使用代码洞穴注入64位DLL
- Quantlib 64-bit for C#?
- 使用64位DLL与32 Borland c++ Builder
- 64 bit addresses
- 如何生成 64 位.dll哪个 gcc 编译器或其他。无法在 AMD 64 位平台上加载 IA 32 位.dll