From 4ac65182c01bc20d4df2de89e73b1ccee345704e Mon Sep 17 00:00:00 2001 From: praydog Date: Wed, 5 Jul 2023 19:00:48 -0700 Subject: [PATCH] SDK: Alignment verification --- shared/sdk/UObjectArray.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/shared/sdk/UObjectArray.cpp b/shared/sdk/UObjectArray.cpp index e847aba7..f8e7718a 100644 --- a/shared/sdk/UObjectArray.cpp +++ b/shared/sdk/UObjectArray.cpp @@ -52,6 +52,11 @@ FUObjectArray* FUObjectArray::get() { return utility::ExhaustionResult::CONTINUE; } + if (*displacement & 1 != 0) { + SPDLOG_INFO("Skipping potential GUObjectArray at 0x{:x} due to odd alignment", *displacement); + return utility::ExhaustionResult::CONTINUE; + } + // Now, we need to analyze this "structure" to see if it's actually a GUObjectArray // We need to make sure the integer values look integer-like, and if casting them // to 8 bytes, they must point to bad memory