From 3200c5e60b98d574cba22ccee95abce71aaefb91 Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Wed, 5 Jun 2024 17:22:45 +0800 Subject: [PATCH] fix NTHeader offset --- .../Snap.Hutao/Service/Game/Unlocker/RequiredLocalModule.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Unlocker/RequiredLocalModule.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Unlocker/RequiredLocalModule.cs index 0f7fb16f..4b16193a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Unlocker/RequiredLocalModule.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Unlocker/RequiredLocalModule.cs @@ -37,6 +37,8 @@ internal readonly struct RequiredLocalModule : IDisposable [MethodImpl(MethodImplOptions.AggressiveInlining)] private unsafe uint GetImageSize(HMODULE hModule) { - return ((IMAGE_NT_HEADERS64*)((IMAGE_DOS_HEADER*)(nint)hModule)->e_lfanew)->OptionalHeader.SizeOfImage; + IMAGE_DOS_HEADER* pImageDosHeader = (IMAGE_DOS_HEADER*)(nint)hModule; + IMAGE_NT_HEADERS64* pImageNtHeader = (IMAGE_NT_HEADERS64*)(pImageDosHeader->e_lfanew + hModule); + return pImageNtHeader->OptionalHeader.SizeOfImage; } } \ No newline at end of file