From 8a427ec36880928fe94ad2682abc2c7e9eaa36f3 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 8 Feb 2025 20:41:41 +0100 Subject: [PATCH] Hack to skip nls/alpc communication This is related to #128 --- src/windows-emulator/windows_emulator.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/windows-emulator/windows_emulator.cpp b/src/windows-emulator/windows_emulator.cpp index 437cdd10..277e6f0a 100644 --- a/src/windows-emulator/windows_emulator.cpp +++ b/src/windows-emulator/windows_emulator.cpp @@ -699,6 +699,11 @@ emulator_thread::emulator_thread(x64_emulator& emu, const process_context& conte this->teb = this->gs_segment->reserve(); this->teb->access([&](TEB64& teb_obj) { + // Skips GetCurrentNlsCache + // This hack can be removed once this is fixed: + // https://github.com/momo5502/emulator/issues/128 + reinterpret_cast(&teb_obj)[0x179C] = 1; + teb_obj.ClientId.UniqueProcess = 1ul; teb_obj.ClientId.UniqueThread = static_cast(this->id); teb_obj.NtTib.StackLimit = reinterpret_cast(this->stack_base);