Disable patches for Apple

Mac can use their native FS segment directly, so these patches aren't needed
This commit is contained in:
Stephen Miller 2025-12-06 17:33:55 -06:00
parent bd6a565166
commit abf72565e7

View File

@ -472,15 +472,18 @@ static const std::unordered_map<ZydisMnemonic, std::vector<PatchInfo>> Patches =
{ZYDIS_MNEMONIC_MOVNTSS, {{FilterNoSSE4a, ReplaceMOVNTSS, false}}}, {ZYDIS_MNEMONIC_MOVNTSS, {{FilterNoSSE4a, ReplaceMOVNTSS, false}}},
{ZYDIS_MNEMONIC_MOVNTSD, {{FilterNoSSE4a, ReplaceMOVNTSD, false}}}, {ZYDIS_MNEMONIC_MOVNTSD, {{FilterNoSSE4a, ReplaceMOVNTSD, false}}},
// fs[0x28] #if !defined(__APPLE__)
// FS segment patches
// These first two patches are for accesses to the stack canary, fs:[0x28]
{ZYDIS_MNEMONIC_XOR, {{FilterStackCheck, GenerateStackCheck, false}}}, {ZYDIS_MNEMONIC_XOR, {{FilterStackCheck, GenerateStackCheck, false}}},
{ZYDIS_MNEMONIC_MOV, {ZYDIS_MNEMONIC_MOV,
{{FilterStackCheck, GenerateStackCanary, false}, {{FilterStackCheck, GenerateStackCanary, false},
#if defined(_WIN32) #if defined(_WIN32)
// Windows needs a trampoline for Tcb accesses. // Windows needs a trampoline for Tcb accesses.
{FilterTcbAccess, GenerateTcbAccess, true} {FilterTcbAccess, GenerateTcbAccess, true}
#elif !defined(__APPLE__) #else
{FilterTcbAccess, GenerateTcbAccess, false} {FilterTcbAccess, GenerateTcbAccess, false}
#endif
#endif #endif
}}, }},
}; };