Android安全/應用逆向--25--使用Apktool解包並打包
阿新 • • 發佈:2018-12-13
7-2、使用Apktool解包並打包
目前apktool是最通用的解包及二次打包工具。
需要注意的是,APKtool使用不當會導致區域格式化,後果相當嚴重!因此我們通常使用以下架構:
1、 新建資料夾A:存放第一次解包後的檔案
D:\A\xxxxxxxxx
2、 新建資料夾B:存放第一次打包後的檔案
D:\B
3、 新建資料夾C:第一次打包後的檔案存入
D:\C\B
4、 需要測試的APK
使用不當的說明:
apk檔案路徑:D:\test.apk
解包目標目錄:D:\
然後你就等著D盤被格式化吧
操作步驟如下:
注意:首先cd到apktool的目錄下,如果目錄下有多個apktool,則apktool.jar時帶上版本號
對於apktool2.0以後的版本: java -jar apktool.jar d -f <apk檔案路徑> -o <解包目標資料夾> //可以解出所有包,解包到資料夾A --------------------------------------------------------------------------------------------------- 對於apktool1.x版本解包為: java -jar apktool.jar d -f <apk檔案路徑> <解包目標資料夾> //少了-o。且只能解出smali包,解包到資料夾A
改包(手改/改程式碼等)
打包檔案:
Java -jar apktool.jar b -f <待打包的資料夾> -o <輸出apk路徑>
//按照架構,即將A資料夾打包輸出到B資料夾
將打包後的B檔案移動到C資料夾下,並對B進行簽名,即可得到修改後可以使用的APK安裝包
java -jar signapk.jar testkey.x509.pem testkey.pk8 待簽名apk檔案路徑 簽名後輸出apk路徑
//得到CB.apk
篡改完畢,安裝即可。