前言
之前寫的 ApkTool 相關(guān)博客 :
- 【Android 安全】DEX 加密 ( 常用 Android 反編譯工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
- 【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python )
- 【Android 逆向】APK 文件處理腳本 ApkTool.py ( 腳本簡介 | 用法 | 分析 APK 文件 )
一、ApkTool 簡介
參考 【Android 安全】DEX 加密 ( 常用 Android 反編譯工具 | apktool | dex2jar | enjarify | jd-gui | jadx ) 一、apktool 博客章節(jié) ;
官網(wǎng)地址 : https://ibotpeaches.github.io/Apktool/
文檔地址 : https://ibotpeaches.github.io/Apktool/documentation/
二、ApkTool 解包和打包
ApkTool 的最重要的兩個作用是 解包 和 打包 ;
- 解包 : 拿到 APK 文件 , 如果按照 zip 格式解壓出來 , xml 文件都是亂碼 ; APK 文件打包時 , 會將 xml 文件進(jìn)行壓縮轉(zhuǎn)為二進(jìn)制文件 , 以減小體積 ; 解包時 , 必須使用 ApkTool 解包工具 , 將二進(jìn)制數(shù)據(jù)格式的 xml 文件轉(zhuǎn)為 文本 xml 文件 , 才能獲取刻度的 xml 文件 ;
- 打包 : 將使用 ApkTool 工具解包后的零散文件 , 再次打包成 APK 文件 ,
如果 APK 文件進(jìn)行了加固處理 , 那么解包無法獲取正確的 dex / so / 資源文件 , 無法進(jìn)行重打包 ;
重打包操作 : 使用 ApkTool 工具 , 將 APK 解包 , 修改或注入 so 文件 , 然后再進(jìn)行重打包 ;
1、使用 apktool 解包
執(zhí)行 java -jar apktool_2.4.1.jar d demo.apk -o demo 命令 ,
java -jar apktool_2.4.1.jar d demo.apk -o demo
其中 d 后面是 要反編譯的 apk 文件 ,
-o demo 的含義是 將反編譯結(jié)果輸出到 demo 目錄中 ;
反編譯過程 :
查看其中的 AndroidManifest.xml 文件 , 可以看到真實的文件內(nèi)容 ;
2、使用 apktool 打包
將反編譯后的文件 重新打包 ;
java -jar apktool_2.4.1.jar b demo -o demo_repackage.apk
b demo 是指定 要打包 demo 目錄 ;
-o demo_repackage.apk 是指定新打包的 應(yīng)用安裝文件是 demo_repackage.apk ;
重新打包過程 :文章來源:http://www.zghlxwxcb.cn/news/detail-401316.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-401316.html
到了這里,關(guān)于【Android 逆向】ApkTool 工具使用 ( ApkTool 簡介 | ApkTool 解包和打包 )的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!