MCPcopy Create free account
hub / github.com/DiscordMessenger/dm / PatchMemory

Function PatchMemory

src/windows/CrashDebugger.cpp:48–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46#ifdef ALLOW_ABORT_HIJACKING
47
48bool PatchMemory(void* address, const void* patch, size_t size)
49{
50 DWORD oldProtect;
51 if (VirtualProtect(address, size, PAGE_EXECUTE_READWRITE, &oldProtect))
52 {
53 memcpy(address, patch, size);
54 VirtualProtect(address, size, oldProtect, &oldProtect);
55 FlushInstructionCache(GetCurrentProcess(), address, size);
56 return true;
57 }
58 else
59 {
60 // handle error
61 DbgPrintW("ERROR with PatchMemory's VirtualProtect call: %08x", GetLastError());
62 return false;
63 }
64}
65
66NORETURN void WINAPI HijackedAbort()
67{

Callers 1

SetupCrashDebuggingFunction · 0.85

Calls 1

DbgPrintWFunction · 0.85

Tested by

no test coverage detected