From e38c2c0ab4211bdabbdc0c5eac1ebac8a6582920 Mon Sep 17 00:00:00 2001 From: jeanmajid Date: Sat, 1 Nov 2025 22:33:47 +0100 Subject: [PATCH] Minecraft_$ctor_hk --- src/api/mc/client/gui/GuiData.hpp | 3 ++- src/hooks/hooks.cpp | 12 ++++++------ test/main.cpp | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/api/mc/client/gui/GuiData.hpp b/src/api/mc/client/gui/GuiData.hpp index a07faa8..930bb01 100644 --- a/src/api/mc/client/gui/GuiData.hpp +++ b/src/api/mc/client/gui/GuiData.hpp @@ -7,7 +7,8 @@ class GuiData { public: void displayLocalMessage(const std::string& message) { using fn_t = decltype(&GuiData::displayLocalMessage); - static fn_t fn = std::bit_cast(selaura::find_signature<"E8 ? ? ? ? 90 48 85 DB 74 ? 48 8B CB E8 ? ? ? ? 90 E9 ? ? ? ? 0F 57 C0 0F 11 45 ? 66 0F 6F 0D">()); + // TODO: Broken + static fn_t fn = std::bit_cast(selaura::find_signature<"40 55 53 56 57 41 56 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 41 0F B6 F9">()); return (this->*fn)(message); } }; diff --git a/src/hooks/hooks.cpp b/src/hooks/hooks.cpp index ecbdbb2..e4c7861 100644 --- a/src/hooks/hooks.cpp +++ b/src/hooks/hooks.cpp @@ -59,15 +59,15 @@ void ScreenView::setupAndRender_hk(MinecraftUIRenderContext *ctx) { } void selaura::init_hooks() { - /*Minecraft_$ctor_hk = safetyhook::create_inline( - find_signature<"48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 4D 8B E1 49 8B D8 4C 8B EA">(), + Minecraft_$ctor_hk = safetyhook::create_inline( + find_signature<"48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 45 ? 4D 8B E9 49 8B D8 4C 8B F2">(), abi::mpf_to_fn(&Minecraft::$ctor) ); - ClientInstance_$ctor_hk = safetyhook::create_inline( - find_signature<"48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 45 ? 49 8B F9 49 8B D8 4C 8B E2">(), - abi::mpf_to_fn(&ClientInstance::$ctor) - );*/ + // ClientInstance_$ctor_hk = safetyhook::create_inline( + // find_signature<"48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 45 ? 49 8B F9 49 8B D8 4C 8B E2">(), + // abi::mpf_to_fn(&ClientInstance::$ctor) + // ); ScreenView_setupAndRender_hk = safetyhook::create_inline( find_signature<"48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 0F 29 BC 24 ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 4C 8B FA">(), diff --git a/test/main.cpp b/test/main.cpp index d954739..22702c2 100644 --- a/test/main.cpp +++ b/test/main.cpp @@ -22,4 +22,4 @@ void after_ui(selaura::SetupAndRenderEvent& ev) { SELAURA_API void SelauraPluginInit(selaura::runtime* runtime) { runtime->event_manager->subscribe(&after_ui); -} \ No newline at end of file +}