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