工具和配置
下載地址:https://ibotpeaches.github.io/Apktool/install/
1.將下載好的apktool文件與apktool_2.3.1.jar文件準備好,并將apktool_2.3.1.jar更名為apktool.jar;
2.將apktool.jar與apktool移動到/usr/local/bin目錄下(可以通過在終端中輸出命令open /usr/local/bin來打開這個目錄);
3.為上述兩個文件增加可執行權限,即在終端中輸入并執行:
Mac: chmod +x apktool.jar chmod +x apktool
4.在終端輸入./apktool看是否可以運行(需要到bin目錄),如果不可以需要在系統偏好設置中打開安全與隱私中點擊仍要運行apktool.jar;
注意:apktool文件需要右鍵"wrapper script"保存為apktool,不要后綴。
將下載的apktool.jar(重命名)和apktool保存到/usr/local/bin中,如果沒有local和bin文件夾,請新建。
反編譯
將app.apk放入bin目錄中
Mac: ./apktool d app.apk
Windows: java -jar apktool.jar d app.apk
修改versionCode:
修改apktool.yml中VersionCode
修改包名
修改AndroidManifest中最外層:<manifest 標簽下package 和<provider標簽下authorities
打包為新apk(目前還無法安裝)
Mac: ./apktool b app -o app_new.apk
Windows: java -jar apktool.jar b app -o app_new.apk
zipalign對齊apk:zipalign在sdk build-tools中
chmod +x zipalgn添加執行權限
發新apk放到與zipalign同一目錄
運行:./zipalign 4 app_new.apk app_new_align.apk
重新簽名(可使用任意一個簽名):apksigner在sdk build-tools中
把簽名文件放到與apk同一目錄
chmod +x apksigner添加執行權限
./apksigner sign --ks key.jks --out release.apk app_new_align.apk
最終:新簽出來的release.apk即可安裝使用
Windows appktool使用:https://blog.csdn.net/shulianghan/article/details/121027522
apk簡單脫殼
- 使用BlackDex工具進行脫殼得到app原本dex文件
下載地址:https://github.com/CodingGay/BlackDex/releases
使用方式:安裝BlackDex.apk,針對app脫殼獲取dex文件,然后導出文件到電腦,將dex文件命名為:classes.dex、classes2.dex、classes3.dex等
- 將dex文件轉為smail文件,使用baksmali.jar,下載地址:https://bitbucket.org/JesusFreke/smali/downloads/
使用方式:java -jar baksmali.jar classes.dex 如果報錯使用:java -jar baksmali.jar disassemble classes.dex,
產物為out文件夾,分別命名為:smali、smali_classes2、smali_classes3等,
- 將smail文件夾復制替換反編譯產物的根目錄,并修改<application中name標簽(啟動類);
- 重新打包安裝即可;