【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )
文章目錄
- 一、APK 解析工具
- 二、解包 -> 分析 -> 重打包 -> 簽名 流程
一、APK 解析工具
使用 【Android 逆向】使用 Python 編寫 APK 批處理分析工具 博客中的 Python 編寫的 APK 處理分析工具 , 分析一個游戲應用 ;
上述工具中 , 使用到了一個核心的 Python 腳本 ApkTool.py , 在 【Android 逆向】ApkTool 工具使用 ( ApkTool 簡介 | ApkTool 解包和打包 ) 博客中進行了簡要介紹 ;
該工具源碼 : https://github.com/han1202012/APK
該 APK 處理程序會自動將 apk 目錄下的 .apk 后綴的安裝文件自動解包 , 分析其中的內容 , 然后自動進行重打包 , 其中農耕使用的簽名文件是工程根目錄下的 mykey-123456.keystore 簽名文件 ;
二、解包 -> 分析 -> 重打包 -> 簽名 流程
執行 APK 處理程序 , 開始分析 apk/Game.apk 文件 ;
程序執行完畢后 , 分析結果如下 :
- 分析后提取的關鍵數據存放在 Game.txt 文件中 ;
- 解包的文件放在 apk/unpack 目錄中 ;
- 重打包的文件放在 apk/repack/Game.apk 位置 , 此時改文件還未簽名 , 不能執行 ;
- 簽名后的文件放在 apk/sign/Game.apk 處 , 該文件可以直接執行 ;
Game.txt 中的內容展示 : 應用名稱 , 包名 , 程序版本號 , 編譯時使用的 SDK 版本 , 重打包 / 簽名 狀態 , 當前使用的游戲引擎 等 數據 ;
如果要修改 Game.apk 應用中的內容 , 需要在 解包后 , 使用 IDA 分析應用內的動態庫 , 根據分析結果 , 修改 so / dll 動態庫中的二進制機器碼 , 然后使用修改后的動態庫 替換 原來的動態庫 , 再進行重打包操作 ;
總結
以上是生活随笔為你收集整理的【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】APK 文件格式
- 下一篇: 【Android 逆向】逆向修改游戏应用