ON00dev/ApexCombatMod

GitHub: ON00dev/ApexCombatMod

针对 Unity Il2Cpp 手游 Apex Combat Online 的 Android 逆向修改框架,涵盖内存 Hook、Native Patch、浮窗菜单和自动化 APK 重打包全流程。

Stars: 0 | Forks: 0

# ApexCombatMod **适用于 Apex Combat Online(原名 Air Combat Online)的 Android Mod。** **语言:** 巴西葡萄牙语 ## 项目结构 ``` ApexCombatMod/ ├── app/src/main/java/com/on00dev/apexcombatmod/ # Código Java do mod │ ├── FloatingModMenuService.java # Menu flutuante (UI) │ ├── MainActivity.java # Activity principal │ ├── ModLoader.java # Carregador do mod │ └── Native.java # Interface JNI ├── app/src/main/cpp/ # Código nativo (C++) │ └── native-lib.cpp # Hooks e patches ├── assets_decompiled/ # Assets descompilados do jogo ├── config_decompiled/ # Configurações descompiladas ├── base_decompiled/ # APK base do jogo descompilado ├── original_splits/ # APK original do jogo ├── extracted/ # Arquivos extraídos (lua, etc) ├── apk_final/ # APK final gerado ├── dump.cs # Dump de memória para análise ├── build_final.ps1 # Script de build final └── cleanup_workspace.ps1 # Script de limpeza ``` ## 构建 ### Debug 构建(快速) ``` .\gradlew.bat assembleDebug ``` 生成的 APK 位于:`app/build/outputs/apk/debug/app-debug.apk` ### 最终构建(合并 + 签名) 生成包含已合并 Mod 的完整游戏 APK。 ``` .\build_final.ps1 ``` **输出:** `apk_final/ApexCombat-Mod-VXX-Final.apk` 该脚本会: 1. 编译 Mod(release) 2. 反编译 Mod APK 和基础 APK 3. 将 Mod 的 smali 代码复制到基础包中 4. 移除游戏许可证 5. 使用 apktool 重新打包 6. 合并 assets/libs 7. 使用 debug keystore 签名 ## 清理工作区 删除生成的文件、临时构建,并仅保留必要文件。 ``` # 普通模式 (全部移除) .\cleanup_workspace.ps1 # DryRun (显示将被移除的内容) .\cleanup_workspace.ps1 -DryRun # 保留超过 1 个最终 APK .\cleanup_workspace.ps1 -KeepFinalCount 3 ``` ## 修改位置 ### 添加/修改 Hooks 和 Patches **文件:** `app/src/main/cpp/native-lib.cpp` ``` // --- OFFSETS --- // Procure "OFFSET_" para encontrar os endereços de memória // --- HOOKS --- // Procure "hook_" para modificar o comportamento das funções hooked // --- MEMORY PATCHES --- // Procure "MemoryPatch" para adicionar novos patches // Exemplo: MemoryPatch patchNovo("NovoPatch", 0x123456); patchNovo.ApplyFloat1(libIl2CppBase); // Retorna 1.0f patchNovo.ApplyTrue(libIl2CppBase); // Retorna true patchNovo.Apply(libIl2CppBase); // RET (void) ``` ### 为菜单添加功能 **文件:** `app/src/main/java/com/on00dev/apexcombatmod/FloatingModMenuService.java` ``` // Adicionar novo switch: Switch swNovo = createSwitch("Nova Função"); swNovo.setOnCheckedChangeListener((buttonView, isChecked) -> { Native.SetNovaFuncao(isChecked); // Chama função nativa }); menuLayout.addView(swNovo); ``` **文件:** `app/src/main/java/com/on00dev/apexcombatmod/Native.java` 添加新的 JNI 方法: ``` public static native void SetNovaFuncao(boolean isEnabled); ``` **文件:** `app/src/main/cpp/native-lib.cpp` 实现原生函数: ``` extern "C" JNIEXPORT void JNICALL Java_com_on00dev_apexcombatmod_Native_SetNovaFuncao(JNIEnv *env, jclass type, jboolean isEnabled) { // Implemente a lógica aqui } ``` ## 反编译文件夹 ### 文件下载 从 [release](https://github.com/ON00dev/ApexCombatMod/releases/tag/data_workspace) 下载 `.zip` 文件并解压到项目根目录: ``` # 解压后,结构应为: # ApexCombatMod/ # ├── assets_decompiled/ # ├── config_decompiled/ # ├── base_decompiled/ # ├── original_splits/ # ├── apk_final/ # └── extracted/ ``` ### 文件夹说明 | 文件夹 | 说明 | |-------|------| | `assets_decompiled/` | APK 资源(图像、文本、配置) | | `config_decompiled/` | lib/ 配置(原生库) | | `base_decompiled/` | 反编译后的基础游戏 APK | | `original_splits/` | 原始游戏 APK(split APKs) | | `extracted/` | 提取的文件(Lua 脚本等) | 这些文件夹被 `build_final.ps1` 脚本用于将 Mod 与游戏合并。 ## 最终 APK 最终的 APK 位于: ``` apk_final/ApexCombat-Mod-VXX-Final.apk ``` 自动版本控制:每次构建时,版本号自动递增(V48, V49, V50...)。 ## 用于分析的 Dump **文件:** `dump.cs` 包含用于逆向分析的游戏类和方法 dump。通过 Il2CppDumper 或类似工具生成。 要更新 dump: 1. 从 APK 中提取 `libil2cpp.so` 和 `global-metadata.dat` 2. 运行 Il2CppDumper 3. 替换生成的 `dump.cs` ## 环境要求 - Android Studio - Android NDK - JDK 11+ - Python(用于 build_final.ps1) - Apktool(已安装并在 PATH 环境变量中) - Android SDK Build Tools ## 许可证 [MIT](/LICENSE)
标签:Air Combat Online, AI合规, Apex Combat Online, Apktool, APK修改, C++, CSV导出, Hook技术, IL2CPP, JNI, JS文件枚举, Mod菜单, OpenCanary, PowerShell脚本, Smali, Unity游戏, 云资产清单, 内存修改, 去授权验证, 外挂开发, 安卓修改, 悬浮窗, 数据擦除, 游戏作弊, 游戏破解, 移动应用安全, 空战游戏, 脚本研究, 逆向工程, 重打包, 飞行射击游戏