From 63bf8785fa119d6e36a7b621d009d803df7911f5 Mon Sep 17 00:00:00 2001 From: Gray <84999745+Milxnor@users.noreply.github.com> Date: Wed, 30 Jul 2025 00:36:31 -0400 Subject: [PATCH] fixed 1.8 --- Project Reboot 3.0/addresses.cpp | 4 ++++ Project Reboot 3.0/dllmain.cpp | 6 ++++++ vendor/memcury.h | 7 ++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Project Reboot 3.0/addresses.cpp b/Project Reboot 3.0/addresses.cpp index 2e874aa..89a2a56 100644 --- a/Project Reboot 3.0/addresses.cpp +++ b/Project Reboot 3.0/addresses.cpp @@ -607,6 +607,10 @@ std::vector Addresses::GetFunctionsToNull() if (Engine_Version == 416) { + toNull.push_back(Memcury::Scanner::FindPattern("4C 89 44 24 ? 88 54 24 ? 48 89 4C 24 ? 56 57 48 81 EC ? ? ? ? 33 C0 83 F8 ? 0F 84 ? ? ? ? B8").Get()); // 1.8 switch state + // toNull.push_back(Memcury::Scanner::FindPattern("48 89 4C 24 ? 48 81 EC ? ? ? ? 48 8B 84 24 ? ? ? ? ? ? ? 48 8B 8C 24 ? ? ? ? FF 90 ? ? ? ? 48 89 84 24 ? ? ? ? 48 8B 84 24 ? ? ? ? 48").Get()); // trigger ui stuff 1.8 + // toNull.push_back(Memcury::Scanner::FindPattern("48 89 4C 24 ? 48 81 EC ? ? ? ? 48 8B 84 24 ? ? ? ? ? ? ? 48 8B 8C 24 ? ? ? ? FF 90 ? ? ? ? 48 89 84 24 ? ? ? ? 48 8B 84 24 ? ? ? ? 48", true, 1).Get()); // trigger ui stuff 1.8 ^^ + toNull.push_back(Memcury::Scanner::FindPattern("48 89 54 24 ? 48 89 4C 24 ? 55 53 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 8B 41 ? C1 E8 ? A8 ? 0F 84 ? ? ? ? 80 3D").Get()); // widget class 1.8 toNull.push_back(Memcury::Scanner::FindPattern("48 89 54 24 ? 48 89 4C 24 ? 55 53 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 8B 41 08 C1 E8 05").Get()); // Widget class } diff --git a/Project Reboot 3.0/dllmain.cpp b/Project Reboot 3.0/dllmain.cpp index 1783bd9..4670502 100644 --- a/Project Reboot 3.0/dllmain.cpp +++ b/Project Reboot 3.0/dllmain.cpp @@ -1269,7 +1269,13 @@ DWORD WINAPI Main(LPVOID) std::cout << "before byte: " << (int)*before << '\n'; + DWORD dwProtection; + VirtualProtect((PVOID)before, 1, PAGE_EXECUTE_READWRITE, &dwProtection); + *before = 0x74; // jump if zero + + DWORD dwTemp; + VirtualProtect((PVOID)before, 1, dwProtection, &dwTemp); } } diff --git a/vendor/memcury.h b/vendor/memcury.h index 79da9a3..a65a7fb 100644 --- a/vendor/memcury.h +++ b/vendor/memcury.h @@ -715,7 +715,7 @@ return FindPatternEx(handle, pattern, mask, module, module + Memcury::PE::GetNTHeaders()->OptionalHeader.SizeOfImage); } - static auto FindPattern(const char* signature, bool bWarnIfNotFound = true) -> Scanner + static auto FindPattern(const char* signature, bool bWarnIfNotFound = true, int skip = 0) -> Scanner { PE::Address add{ nullptr }; @@ -740,6 +740,11 @@ if (found) { + if (skip > 0) + { + return FindPattern(signature, bWarnIfNotFound, --skip); + } + add = reinterpret_cast(&scanBytes[i]); break; }