From 9ed8cfb803bcba51c9814ad91d19e979288bd5f0 Mon Sep 17 00:00:00 2001 From: LA_DI_DA <11174151+0O0o0oOoO00@users.noreply.github.com> Date: Tue, 18 Mar 2025 19:27:30 +0800 Subject: [PATCH] add: support more arch --- blcrack/cracker/CMakeLists.txt | 9 ++++++++- blcrack/cracker/il2cpp.hpp | 13 +++++++++++++ blcrack/cracker/utils.cpp | 3 --- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/blcrack/cracker/CMakeLists.txt b/blcrack/cracker/CMakeLists.txt index 441cbf52a..cf25fbce8 100644 --- a/blcrack/cracker/CMakeLists.txt +++ b/blcrack/cracker/CMakeLists.txt @@ -15,4 +15,11 @@ target_link_libraries(${CRACKER} target_compile_definitions(${CRACKER} PRIVATE ${SPDLOG_DEFINES} SPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE PRIVATE SOL_USE_LUA_HPP -) \ No newline at end of file +) +if (CMAKE_ANDROID_ARCH_ABI STREQUAL "x86") + target_compile_definitions(${CRACKER} PRIVATE ARCH_X86) +elseif (CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a") + target_compile_definitions(${CRACKER} PRIVATE ARCH_ARMEABI_V7A) +elseif (CMAKE_ANDROID_ARCH_ABI STREQUAL "arm64-v8a") + target_compile_definitions(${CRACKER} PRIVATE ARCH_ARM64_V8A) +endif () \ No newline at end of file diff --git a/blcrack/cracker/il2cpp.hpp b/blcrack/cracker/il2cpp.hpp index a64b75ac3..5bbc0f4fe 100644 --- a/blcrack/cracker/il2cpp.hpp +++ b/blcrack/cracker/il2cpp.hpp @@ -87,4 +87,17 @@ struct LuaScriptMgr_o { LuaScriptMgr_Fields fields; }; +using LuaScriptMgr_get_Inst = struct LuaScriptMgr_o*(*)(); + +#if defined(ARCH_X86) +#define LuaScriptMgr_get_Inst_OFFSET 0x1076B15 +#elif defined(ARCH_ARM64_V8A) +#define LuaScriptMgr_get_Inst_OFFSET 0x14BF998 +#elif defined(ARCH_ARMEABI_V7A) +#define LuaScriptMgr_get_Inst_OFFSET 0xFE8894 +#else +#warning "No architecture defined for il2cpp.hpp, assuming x86" +#define LuaScriptMgr_get_Inst_OFFSET 0x1076B15 +#endif + #endif //IL2CPPSTRUCT_HPP diff --git a/blcrack/cracker/utils.cpp b/blcrack/cracker/utils.cpp index d959c535c..ce56be095 100644 --- a/blcrack/cracker/utils.cpp +++ b/blcrack/cracker/utils.cpp @@ -32,9 +32,6 @@ void* Utils::get_so_base_address(const std::string& name) { return nullptr; } -using LuaScriptMgr_get_Inst = struct LuaScriptMgr_o*(*)(); -#define LuaScriptMgr_get_Inst_OFFSET 0x1076B15 - lua_State* Utils::get_lua_state() { void* il2cpp_base_addr = get_so_base_address("libil2cpp.so");