1. 程式人生 > >android反編譯&回編譯&簽名

android反編譯&回編譯&簽名

切記:不得用於非法勾當!!

準備工作

apktool,用來反編譯以及再次編譯
AndroidResEdit,用來給apk簽名
需要電腦配置好JAVA環境,百度一下

反編譯

解壓apktool.rar,根據自己的系統選擇響應檔案拷貝出來
在C盤下新建一個資料夾C:\android\ (DE盤都隨便,資料夾名字也隨便)
把 aapt.exe apktool.bat apktool.jar 三個檔案拷貝到C:\android下
把想要反編譯的apkname.apk檔案放到C:\android下
Win+R cmd+回車,cd到C:\android\,輸入命令:apktool d apkname.apk 進行反編譯
執行命令結束後會在C
:\android\下生成一個資料夾,此例為apkname資料夾,就是反編譯的產物 apktool d *.apk 命令後面可以指定反編譯產物的位置,不寫就是當前目錄下

回編譯

反編譯之後可以比較方便的找到資原始檔進行簡單的圖片替換
如若要改包名,需要替換包括但不限於AndroidManifest.xml,smali\*\*\*.smali,res\layout\main.xml等檔案中的包名,可以用sublime統一find&replace.
修改完成之後,cmd中cd到apkname的上級目錄,此例中就是C:\android,輸入指令:apktool b apkname,進行編譯,完成之後apkname資料夾中會多出兩個資料夾,build和dist,build資料夾存放著編譯檔案,dist中存放編譯後的apk檔案

簽名

回編譯之後dist資料夾中的apk檔案是未簽名的,無法安裝使用
開啟簽名軟體,在工具欄中找到簽名,然後選擇需要簽名的apkname.apk,確定就OK了
完成之後會在apkname.apk資料夾下生成另一個簽名了的apk檔案