Android-Mod-Menu 使用教程

目錄

    • 簡介
    • 前提條件
    • 安裝步驟
      • 1. 下載和解壓項目
      • 2. 配置 Android Studio
      • 3. 安裝到設備
    • 修改游戲 APK
      • 1. 確定游戲主活動
      • 2. 集成模組菜單
        • 方法 1:通過服務啟動(推薦)
        • 方法 2:通過活動啟動(僅在游戲檢測模組時使用)
      • 3. 合并模組和游戲 APK
      • 4. 測試修改后的 APK
    • 使用模組菜單
      • 1. 基本操作
      • 2. 自定義功能
      • 3. 調試與優化
    • 常見問題
    • 注意事項
    • 參考資源

簡介

LGLTeam 的 Android-Mod-Menu 是一個強大的 Android 游戲浮動模組菜單模板,支持 il2cpp 和原生 Android 游戲,集成了 KittyMemory、MSHook、And64InlineHook 等工具,并提供 AY Obfuscator 進行字符串混淆。項目支持 Android 4.4.x 至 Android 12,兼容 ARMv7、x86 和 ARM64 架構。本教程將詳細介紹安裝、配置、APK 修改及使用方法,適合有一定 Android 開發基礎的用戶。

注意:本項目僅用于學習和研究,請勿用于非法或商業用途。使用不當可能引發法律問題,開發者不對任何不當使用負責。

前提條件

開始之前,請確保滿足以下條件:

  1. 基礎知識
    • 熟悉 Android 布局(XML 和 Java)。
    • 了解 Android 開發環境(如 Android Studio)。
    • 掌握基本的 C++ 和 JNI(Java Native Interface)知識。
    • 了解 APK 文件結構、smali 文件及反編譯工具(如 Apktool)。
  2. 開發環境
    • 一臺運行 Windows、macOS 或 Linux 的電腦。
    • 已安裝 Android Studio 和 Android NDK。
    • 準備 APK 反編譯工具,如 APK Easy Tool、MT Manager 或 APK Editor Pro。
    • 一臺 Android 設備(建議 Android 5.0+,ARMv7 或 ARM64 架構)。
  3. 項目文件
    • 從 GitHub 下載 Android-Mod-Menu 源代碼(https://github.com/LGLTeam/Android-Mod-Menu/releases)或克隆倉庫:
      git clone https://github.com/LGLTeam/Android-Mod-Menu.git
      
    • 確保下載與設備 CPU 架構匹配的 NDK 文件(ndk_arm.tar.gz 用于 ARMv7,ndk_arm64.tar.gz 用于 ARM64)。

安裝步驟

1. 下載和解壓項目

  1. 訪問 https://github.com/LGLTeam/Android-Mod-Menu/releases,下載最新版本的源代碼 ZIP 文件,或通過 Git 克隆倉庫。
  2. 解壓到無空格或特殊字符的目錄(如 C:\AndroidModMenu/home/user/AndroidModMenu)。

2. 配置 Android Studio

  1. 打開 Android Studio,選擇 File > Open,加載解壓后的項目文件夾。
  2. 等待項目同步完成(初次可能需 1-2 分鐘)。
  3. 配置 NDK:
    • 進入 File > Project Structure > SDK Location
    • Android NDK Location 中選擇 NDK 文件路徑(如 ndk_arm.tar.gzndk_arm64.tar.gz)。
    • 確保 NDK 版本與設備架構兼容。
  4. 檢查構建配置:
    • 打開 app/build.gradle,確認 ndk 配置正確。
    • 如需更改庫名稱,修改 app/src/main/jni/Android.mk 中的 LOCAL_MODULE,并更新 MainActivity.java 中的 System.loadLibrary("")

3. 安裝到設備

  1. 連接 Android 設備,啟用 開發者選項USB 調試
  2. 在 Android Studio 中選擇設備,點擊 Run 構建并安裝調試 APK(app-debug.apk)。
  3. 構建成功后,APK 將自動安裝,文件位于 app/build/outputs/apk/app-debug.apk

提示:若使用 AIDE 等移動端 IDE,需安裝模組專用版本的 AIDE(Play Store 版本不兼容),詳見 Wiki。


修改游戲 APK

將模組菜單集成到目標游戲需要修改 APK 文件,以下是步驟:

1. 確定游戲主活動

  1. 使用 APK 反編譯工具(如 APK Easy Tool 或 MT Manager)解編譯目標游戲 APK。
  2. 打開 AndroidManifest.xml,查找 <action android:name="android.intent.action.MAIN"/>,記錄主活動路徑(如 com.unity3d.player.UnityPlayerActivity)。

2. 集成模組菜單

推薦使用服務啟動方法,避免同時使用兩種方法。

方法 1:通過服務啟動(推薦)
  1. AndroidManifest.xml<application> 標簽末尾添加服務(根據需要調整包名):
    <service android:name="com.android.support.Launcher" android:enabled="true" android:exported="false" android:stopWithTask="true" />
    
  2. 找到游戲主活動的 smali 文件(路徑如 /com/unity3d/player/UnityPlayerActivity.smali)。
  3. onCreate 方法中添加:
    invoke-static {p0}, Lcom/android/support/Main;->Start(Landroid/content/Context;)V
    
  4. 保存修改。
方法 2:通過活動啟動(僅在游戲檢測模組時使用)
  1. AndroidManifest.xml 中添加模組主活動:
    <activity android:configChanges="keyboardHidden|orientation|screenSize" android:name="com.android.support.MainActivity" android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>
    </activity>
    
  2. 確保游戲原始主活動不再包含 <action android:name="android.intent.action.MAIN"/>
  3. 添加懸浮窗權限:
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    
  4. 若菜單未顯示,檢查設備懸浮窗權限設置。

3. 合并模組和游戲 APK

  1. 反編譯 app-debug.apk,提取模組的 smali 文件(位于 smali/com/android/support)。
  2. 將模組 smali 文件夾復制到游戲反編譯目錄的 smali 文件夾(建議放入最后一個 smali_classes 文件夾)。
  3. 重命名模組 dex 文件(如 classes.dex 改為 classes2.dex),確保 dex 順序正確。
  4. 復制模組的 .so 文件到游戲的架構目錄(armeabi-v7aarm64-v8a),確保架構匹配。
  5. 使用 APK 工具重新編譯并簽名 APK,建議啟用“自動簽名”。

4. 測試修改后的 APK

  1. 安裝簽名后的 APK 到設備。
  2. 啟動游戲,檢查模組菜單是否顯示。
  3. 若菜單未顯示,使用 Android Studio 的 Logcat 查看錯誤日志,搜索解決方案。

使用模組菜單

1. 基本操作

  • 游戲啟動后,模組菜單以浮動窗口形式顯示。
  • 菜單支持開關、按鈕、復選框等控件,可通過 Java 和 C++ 自定義功能。
  • 日志路徑(以下路徑可能因設備而異,建議實際驗證):
    • Android 11 及以上/storage/emulated/0/Documents/ModMenuLogs/
    • Android 10 及以下/storage/emulated/0/Android/data/<包名>/files/ModMenuLogs/(修正:路徑中的“包名”需替換為游戲實際包名,如 com.example.game)。

2. 自定義功能

  • 添加功能
    • FloatingModMenuService.javalocalChanges(int featureNum, boolean toggle) 方法中定義邏輯。
    • 使用負數(如 -1)分配設置項,正數(如 1, 3, 200)分配模組功能。
    • 示例:添加默認啟用的復選框,使用 CheckBox_True_功能名稱
  • UI 自定義
    • 使用 GradientDrawable 設置圓角和邊框:
      GradientDrawable gradientdrawable = new GradientDrawable();
      gradientdrawable.setCornerRadius(20);
      gradientdrawable.setColor(Color.parseColor("#1C2A35"));
      gradientdrawable.setStroke(1, Color.parseColor("#32cb00"));
      
    • 適配不同分辨率設備,考慮自動縮放。
  • 字符串混淆
    • 使用 AY Obfuscator 保護字符串:
      OBFUSCATE("字符串")
      OBFUSCATE_KEY("字符串", 0x3FE63DF21A3B)
      
    • 重要代碼(如偏移量)存儲在 .so 文件中,避免暴露在 Java/smali 中。

3. 調試與優化

  • 日志調試
    • 在 C++ 代碼中添加日志(如 LOGD("調試信息")),通過 logcat 查看:
      bool get_BoolExample(void *instance) {LOGD("BoolExample 1");if (instance != NULL && featureHookToggle) {LOGD("BoolExample 2");return true;}LOGD("BoolExample 3");return old_get_BoolExample(instance);
      }
      
  • 避免崩潰
    • 確保 hook 和 patch 的偏移量正確,檢查游戲 .so 文件的架構。
    • 使用 #if defined(__aarch64__) 區分 32 位和 64 位代碼。
  • 保護代碼
    • 啟用 ProGuard 縮小代碼,添加過濾器避免破壞項目。
    • 避免使用不可信的加密工具,防止被誤報為惡意軟件。
    • 公開源代碼到 GitHub 可減少盜用風險。

常見問題

  1. 模組菜單未顯示?
    • 確認 SYSTEM_ALERT_WINDOW 權限已添加。
    • 檢查 onCreate 方法中的 smali 調用。
    • 查看 logcat 日志,排查權限或架構問題。
  2. 游戲崩潰?
    • 確保 .so 文件位于正確架構目錄。
    • 檢查 hook 偏移量是否正確。
    • 使用 logcat 定位錯誤。
  3. 方法數超限(65535)?
    • 將模組 smali 文件放入 smali_classes2 或更高編號文件夾。
    • 避免放入游戲主 smali 文件夾。
  4. 舊版 Android 布局問題?
    • 部分游戲在無權限啟動時使用舊布局,暫無解決方案。
  5. 如何獲取支持?
    • 查看 Wiki 的 FAQ(https://github.com/LGLTeam/Android-Mod-Menu/wiki/FAQ)。
    • 在 Platinmods 或 UnknownCheats 論壇提問,官方不提供一對一支持。

注意事項

  • 學習成本:需要 Android 開發和逆向工程知識,建議學習 JNI、smali 和 il2cpp。
  • 社區規范:避免重復提問,初學者應查閱資料。惡意行為可能導致被屏蔽。
  • 法律風險:不要用于受保護的游戲(如 PUBG、Free Fire),以免引發法律問題。

參考資源

  • GITHUB:https://github.com/LGLTeam/Android-Mod-Menu

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84902.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84902.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84902.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot 自動化部署實戰:從環境搭建到 CI/CD 全流程

SpringBoot 自動化部署全流程實戰 一、環境準備&#xff08;開發側&#xff09; 基礎工具鏈安裝&#xff1a; # JDK 17 brew install openjdk17 # Maven 構建工具 brew install maven # Docker 環境 brew install --cask docker項目配置驗證&#xff1a; <!-- pom.xml 關…

Flutter動畫與交互:打造流暢用戶體驗的完整指南

在移動應用開發中&#xff0c;流暢的動畫和自然的交互是提升用戶體驗的關鍵因素。Flutter作為Google推出的跨平臺UI工具包&#xff0c;提供了一套強大而靈活的動畫系統&#xff0c;使開發者能夠輕松創建專業級的動畫效果。本文將深入探討Flutter中的動畫與交互技術&#xff0c;…

山東大學軟件學院項目實訓:基于大模型的模擬面試系統項目總結(九)

在山東大學軟件學院的項目實訓中&#xff0c;團隊成員們圍繞基于大模型的模擬面試系統展開了一系列開發與優化工作。以下是本周項目的核心進展與成果總結。 前端界面優化與 Bug 修復&#xff08;吳尤&#xff09; Logo 顯示問題修復 在項目開發過程中&#xff0c;團隊發現項…

14.vue.js的watch()的注意事項(1)

一、 Q &#xff1a;因為 state 有內部的屬性 也就是id。 因為要追逐id。所以要寫函數&#xff1f;而不能直接監聽state。 只監聽state &#xff0c;監聽不到id的變化嗎&#xff1f; A&#xff1a; 為什么監聽 state 不等于監聽 state.id&#xff1f; 在 Vue 3 中&#xff0…

強化學習入門:價值、回報、策略概念詳解

前言 最近想開一個關于強化學習專欄&#xff0c;因為DeepSeek-R1很火&#xff0c;但本人對于LLM連門都沒入。因此&#xff0c;只是記錄一些類似的讀書筆記&#xff0c;內容不深&#xff0c;大多數只是一些概念的東西&#xff0c;數學公式也不會太多&#xff0c;還望讀者多多指教…

基于“數智立體化三維架構”框架的醫療數智化機制研究

1 研究背景與框架基礎 當前,全球醫療服務體系正經歷深刻的數智化轉型浪潮,人工智能、大數據、云計算等新一代信息技術與醫療健康領域的融合不斷深入,催生了醫療服務模式的革命性變化。在我國,數智化技術已成為提升基層衛生服務質量、促進醫療服務公平可及、增進百姓健康福…

OpenCV CUDA模塊圖像變形------對圖像進行旋轉操作函數rotate()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 該函數用于對圖像進行 GPU 加速的旋轉操作&#xff0c;支持指定旋轉角度、縮放中心偏移和插值方法。是 OpenCV CUDA 模塊中用于圖像旋轉的核心函…

【面板數據】中國與世界各國新能源汽車進出口數據-分類別與不分類別(2017-2024年)

新能源汽車作為中國制造高質量發展的重要代表&#xff0c;其進出口數據不僅反映了我國技術實力與產業格局的變化&#xff0c;也是理解全球綠色交通趨勢、制定國家戰略決策的重要依據。目前國內主流定義判斷標準主要參考中國工信部于2009年發布的《新能源汽車生產企業及產品準入…

亞馬遜云服務器(AWS)會限制用戶使用嗎?深度解讀AWS資源政策

一、AWS的資源邏輯&#xff1a;為什么說"不限速"&#xff1f; AWS采用"按需分配"的資源配置模式&#xff0c;其核心限制并非來自人為設定&#xff0c;而是取決于&#xff1a; 實例類型配置&#xff08;如t2.micro默認CPU積分制&#xff09; 賬戶服務配額…

頂級視頻生成大模型分析:Seedance 1.0 Pro (字節跳動) - 新晉榜首

&#x1f4d6; 目錄 一、概述與市場格局 1.1 AI視頻生成技術現狀1.2 主要競爭者概覽1.3 評測標準與方法 二、頂級模型詳細分析 2.1 Seedance 1.0 Pro (字節跳動) - 新晉榜首2.2 OpenAI Sora - 行業先驅者2.3 Google Veo 3 - 音視頻一體化領航者2.4 快手可靈 2.0 - 國產之光…

【Spring源碼核心篇-08】spring中配置類底層原理和源碼實現

Spring源碼核心篇整體欄目 內容鏈接地址【一】Spring的bean的生命周期https://zhenghuisheng.blog.csdn.net/article/details/143441012【二】深入理解spring的依賴注入和屬性填充https://zhenghuisheng.blog.csdn.net/article/details/143854482【三】精通spring的aop的底層原…

【無標題】在 4K 高分辨率(如 3840×2160)筆記本上運行 VMware 虛擬機時平面太小字體太小(ubuntu)

? 方法一&#xff1a;寫入 ~/.xprofile&#xff08;推薦&#xff09; 這個文件會在你登錄圖形界面前自動執行&#xff0c;適合設置縮放比例等桌面配置。 1. 打開 .xprofile 文件&#xff08;如果沒有會自動創建&#xff09;&#xff1a; nano ~/.xprofile2. 寫入以下內容&a…

「Linux文件及目錄管理」目錄結構及顯示類命令

Linux文件系統的目錄結構 Linux文件系統采用嚴格的樹形結構,所有文件和目錄都從根目錄(/)開始延伸。以下是主要目錄的詳細說明: /bin:存放系統啟動和運行所必需的二進制可執行文件,如ls、cp、mv等基本命令。/etc:存放系統配置文件,如/etc/passwd(用戶賬戶信息)、/et…

人工智能學習13-Numpy-規律數組生成

人工智能學習概述—快手視頻 人工智能學習13-Numpy-規律數組生成—快手視頻 NumPy&#xff08;Numerical Python&#xff09;是 Python 的一種開源的數值計算擴展。 這種工具可用來存儲和處理大型矩陣&#xff0c;比 Python 自身的嵌套列表 &#xff08;nested list structure…

Spring Boot 集成 Redis 實戰教程

前言 在高并發、大數據量的應用場景中&#xff0c;緩存是提升系統性能的關鍵技術。Redis 憑借其卓越的讀寫性能、豐富的數據結構和高可用性&#xff0c;成為開發者常用的緩存工具。本教程將嚴格依據Spring 官方文檔與Redis 官方文檔&#xff0c;詳細介紹 Spring Boot 與 Redis…

龍蜥開發者說:我的龍蜥開源之旅 | 第 32 期

「龍蜥開發者說」第 32 期來了&#xff01;開發者與開源社區相輔相成&#xff0c;相互成就&#xff0c;這些個人在龍蜥社區的使用心得、實踐總結和技術成長經歷都是寶貴的&#xff0c;我們希望在這里讓更多人看見技術的力量。本期故事&#xff0c;我們邀請了龍蜥社區開發者潘玨…

在mac上安裝sh腳本文件

要將 jd-gui.sh 腳本轉換為在 macOS ARM 系統上帶有自定義圖標的可點擊運行的程序&#xff0c;你可以通過創建一個應用程序包&#xff08;.app&#xff09;來實現。以下是詳細步驟&#xff1a; 步驟 1&#xff1a;創建應用程序包目錄結構 應用程序包實際上是一個特殊的目錄&a…

用bilibili一個講座視頻,生成一本科普書籍

用bilibili一個講座視頻,生成一本科普書籍 一、功能介紹1.1 智能文本處理1.2 知識提煉與結構化1.3 專業知識普及1.4 自動化書籍生成1,5 大規模處理能力二、技術特點三、應用意義3.1 教育領域3.2 研究領域3.3 內容創作3.4 企業應用四、創新價值五、使用場景示例六、操作步驟6.1 …

黑馬教程強化day3-1

目錄 一、File1.定義&#xff1a;2.創建File類的對象3.File提供的判斷文件類型、獲取文件信息功能4.File提供的創建的方法5.File類刪除文件的功能6.File提供的遍歷文件夾的方法代碼演示 二、遞歸&#xff08;了解遞歸算法&#xff0c;以便實現多級遍歷找文件&#xff09;1.定義…

milvus 總結

1. milvus 的默認 admin 角色賬號 root 的密碼 為 Milvus 2. 最開始使用命令&#xff1a; docker-compose -f milvus-standalone-docker-compose.yml up -d 啟動 milvus 后&#xff0c;使用 attu 登錄 Milvus 是不需要輸入賬號/密碼的&#xff0c;可以使用如下方式開啟 mi…