From 7ba85de4128232e110f9624ad45e6c4e155fadf9 Mon Sep 17 00:00:00 2001 From: gir489 <100792176+gir489returns@users.noreply.github.com> Date: Sat, 16 Mar 2024 17:06:29 -0400 Subject: [PATCH] Replace offset.bin's header version variable with TimeDateStamp. (#2832) * Replace offset.bin's header version variable with TimeDateStamp. * Broke out Read Attribute Patch into two signatures. --- src/memory/module.cpp | 6 ++++++ src/memory/module.hpp | 1 + src/memory/range.hpp | 1 + src/pointers.cpp | 10 +++++++++- src/pointers.hpp | 2 +- 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/memory/module.cpp b/src/memory/module.cpp index cd5a2e45..0a418576 100644 --- a/src/memory/module.cpp +++ b/src/memory/module.cpp @@ -44,6 +44,11 @@ namespace memory return m_size; } + DWORD module::timestamp() const + { + return m_timestamp; + } + bool module::wait_for_module(std::optional time) { const auto giveup_time = time.has_value() ? std::make_optional(std::chrono::high_resolution_clock::now() + time.value()) : std::nullopt; @@ -72,6 +77,7 @@ namespace memory const auto ntHeader = m_base.add(dosHeader->e_lfanew).as(); m_size = ntHeader->OptionalHeader.SizeOfImage; + m_timestamp = ntHeader->FileHeader.TimeDateStamp; return m_loaded; } diff --git a/src/memory/module.hpp b/src/memory/module.hpp index 226ddc65..7f358a89 100644 --- a/src/memory/module.hpp +++ b/src/memory/module.hpp @@ -18,6 +18,7 @@ namespace memory bool loaded() const; size_t size() const; + DWORD timestamp() const; /** * @brief Waits till the given module is loaded. diff --git a/src/memory/range.hpp b/src/memory/range.hpp index a2438e8f..406bab73 100644 --- a/src/memory/range.hpp +++ b/src/memory/range.hpp @@ -23,5 +23,6 @@ namespace memory protected: handle m_base; std::size_t m_size; + DWORD m_timestamp; }; } diff --git a/src/pointers.cpp b/src/pointers.cpp index 69e185be..6c839af4 100644 --- a/src/pointers.cpp +++ b/src/pointers.cpp @@ -1813,7 +1813,15 @@ namespace big [](memory::handle ptr) { g_pointers->m_sc.m_read_attribute_patch = ptr.as(); - g_pointers->m_sc.m_read_attribute_patch_2 = ptr.add(0x72).as(); + } + }, + // Read Attribute Patch 2 + { + "RAP2", + "32 C0 EB ? C7 83", + [](memory::handle ptr) + { + g_pointers->m_sc.m_read_attribute_patch_2 = ptr.as(); } } >(); diff --git a/src/pointers.hpp b/src/pointers.hpp index 77e25419..5ebe1895 100644 --- a/src/pointers.hpp +++ b/src/pointers.hpp @@ -80,7 +80,7 @@ namespace big cache_file.set_data(std::move(cache_data_ptr), data_size); - cache_file.set_header_version(mem_region.size()); + cache_file.set_header_version(mem_region.timestamp()); cache_file.write(); }