From 588b48ebc728bb24438d2db71cf2747454593bdb Mon Sep 17 00:00:00 2001 From: Boring <1079299053@qq.com> Date: Tue, 11 Feb 2025 21:20:05 +0800 Subject: [PATCH] Add MmpTlsCleanup routine. --- MemoryModule/MmpLdrpTls.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/MemoryModule/MmpLdrpTls.cpp b/MemoryModule/MmpLdrpTls.cpp index d03ce4d..286ddd5 100644 --- a/MemoryModule/MmpLdrpTls.cpp +++ b/MemoryModule/MmpLdrpTls.cpp @@ -110,7 +110,9 @@ static NTSTATUS NTAPI RtlFindLdrpHandleTlsData10() { BYTE Bytes[4]; DWORD Dword; }; - Converter ExceptionBlockAddress{ .Dword = DWORD(ExceptionBlock - LPBYTE(DllBase)) }; + Converter ExceptionBlockAddress{}; // { .Dword = DWORD(ExceptionBlock - LPBYTE(DllBase)) }; + ExceptionBlockAddress.Dword = DWORD(ExceptionBlock - LPBYTE(DllBase)); + SearchContext.Result = nullptr; SearchContext.PatternSize = 4; SearchContext.SearchPattern = ExceptionBlockAddress.Bytes; @@ -131,7 +133,7 @@ static NTSTATUS NTAPI RtlFindLdrpHandleTlsData10() { LdrpHandleTlsBlock--; } LdrpHandleTlsBlock++; - LdrpHandleTlsData = LdrpHandleTlsDataBlock; + LdrpHandleTlsData = LdrpHandleTlsBlock; return STATUS_SUCCESS; #else return STATUS_NOT_SUPPORTED; @@ -192,6 +194,10 @@ BOOL NTAPI MmpTlsInitialize() { return TRUE; } +VOID NTAPI MmpTlsCleanup() { + ; +} + NTSTATUS NTAPI MmpReleaseTlsEntry(_In_ PLDR_DATA_TABLE_ENTRY lpModuleEntry) { typedef NTSTATUS(__stdcall* STDCALL)(PLDR_DATA_TABLE_ENTRY, PVOID*); typedef NTSTATUS(__thiscall* THISCALL)(PLDR_DATA_TABLE_ENTRY, PVOID*);