Android APK反編譯方法(可以獲取APK xml和android Manifest,java程式碼等內容)
APK反編譯和簽名
apk檔案反編譯以及簽名打包
通過dex2jar和jd我們可以反編譯apk中的dex,可以比較完美的檢視java原始檔;通過apktool可以反編譯apk中的xml等資原始檔,然後通過apk-sign簽名,可以製作成修改版的可釋出apk檔案。
1.dex2jar反編譯dex檔案:
http://blog.csdn.net/pugongying1988/article/details/7301049
b. 把apk檔案字尾名改為.zip,然後解壓縮其中的class.dex檔案,它是java檔案編譯再通過dx工具打包成的,所以現在我們就用上述提到的2個工具來逆方向匯出java原始檔;
c.把class.dex拷貝到dex2jar.bat所在目錄,執行dex2jar.bat class.dex,生成classes.dex.dex2jar.jar ;
d.執行jd-gui工具(綠色無須安裝),開啟上面生成的jar檔案,即可看到原始碼(java檔案);
2.apktool反編譯xml等資原始檔:
b. apktool d XXX.apk ABC : 反編譯XXX.apk到資料夾ABC
c. apktool b ABC :從反編譯後的資料夾ABC重建APK,輸出到ABC\dist\out.apk(該apk沒有簽名)
d. 這樣我們就可以把遠apk檔案通過反編譯後,然後對裡面資原始檔作修改,然後再重建為apk即可;
3.apk完整原始碼:
1.中得到的java檔案和2中得到的xml檔案組合成一個android工程,即可得到完整的apk原始碼。
4.apk-sign簽名apk檔案:
a. 下載檔案件附件apk-sign.rar,解壓到apk-sign資料夾;
b.將XXX.apk檔案解壓到XXX資料夾,然後將XXX直接拖到apk-sign檔案中的sign_pack.bat批處理檔案上以執行,彈出cmd執行視窗,等待執行完即可;
c.生成新資料夾XXX_signed中的apk檔案即為已簽名;