feat: add vcruntime wrapper
This commit is contained in:
39
src/impl/wrapper.cpp
Normal file
39
src/impl/wrapper.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include <Windows.h>
|
||||
#include <cstdint>
|
||||
|
||||
extern "C"
|
||||
{
|
||||
__declspec(dllexport) void __NLG_Dispatch2()
|
||||
{
|
||||
// nullsub
|
||||
}
|
||||
|
||||
__declspec(dllexport) void __NLG_Return2()
|
||||
{
|
||||
// nullsub
|
||||
}
|
||||
|
||||
__declspec(dllexport) std::int64_t __CxxFrameHandler4(std::int64_t a1, std::int64_t a2, std::int32_t a3, std::int64_t a4)
|
||||
{
|
||||
using CxxFrameHandler4_t = decltype(&__CxxFrameHandler4);
|
||||
static CxxFrameHandler4_t real_CxxFrameHandler4 = nullptr;
|
||||
|
||||
if (!real_CxxFrameHandler4)
|
||||
{
|
||||
HMODULE hModule = LoadLibraryA("vcruntime140_1.orig.dll");
|
||||
if (hModule)
|
||||
{
|
||||
real_CxxFrameHandler4 = reinterpret_cast<CxxFrameHandler4_t>(
|
||||
GetProcAddress(hModule, "__CxxFrameHandler4")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (real_CxxFrameHandler4)
|
||||
{
|
||||
return real_CxxFrameHandler4(a1, a2, a3, a4);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user