1. 程式人生 > >反編譯操作以及反編譯工具

反編譯操作以及反編譯工具

前幾天下了一個手機遊戲–植物大戰殭屍,想看一看它的原始碼是什麼樣的,於是傳到電腦上直接解壓,得出來的資料夾是這樣的這裡寫圖片描述
我想看看它的配置檔案AndroidManifest.xml開啟後是這樣的這裡寫圖片描述
要想看到它的原始碼就必須反編譯了,下面就要介紹反編譯的工具了。
1) apktool
apktool可能是當今最為流行的apk工具包,由解包、打包、簽名程式組成。Akp程式的解包和打包軟體由2個程式來完成:apktool.jar 和 aapt.exe。另外提供一個批處理檔案:apktool.bat。
解包命令:
apktool d xxx.apk ABC
這裡“d”表示要解碼。xxx.apk是要解包的APK檔案。ABC是子目錄名。解包的檔案會放在這個子目錄內。
打包命令:
apktool b ABC yyy.apk
這裡“b”表示要打包,ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包後的和修改後的檔案。yyy.apk是打包後產生的新的APK檔案。
還有兩個工具用的到:dexjar2和jd-jui,他們兩個的作用分別如下:
dex2jar:將apk反編譯成java原始碼(classes.dex轉化成jar檔案)
jd-gui:檢視apk中classes.dex轉化成的jar檔案,即原始碼檔案
我會在第二篇部落格裡教給大家怎麼用這幾個工具,解包之後的資料夾是這樣這裡寫圖片描述


AndroidManifest.xml 程式全域性配置檔案
res\ 該目錄存放資原始檔
assets\ 該目錄可以存放一些配置檔案
lib 該目錄是一些庫的檔案
smali 該目錄是安卓程式反編譯生成的檔案格式
我們看一下反編譯成功之後的AndroidManifest.xml檔案這裡寫圖片描述下一篇部落格我會把反編譯工具上傳上來,並且說一下工具的使用。