您好,登錄后才能下訂單哦!
怎么在ubuntu環境中反編譯android apk?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
使用ApkTool反編譯Apk
下載 apktool1.4.3.tar.bz2 、apktool-install-linux-r04-brut1.tar.bz2 兩個包,并解壓到統一個目錄中,解壓后得到aapt apktool apktool.jar 。解壓安裝完成后輸入以下命令解壓:
<span>$ ./apktool d apk/xgd_android_test.apk I: Baksmaling... I: Loading resource table... I: Loaded. I: Loading resource table from file: /home/yangyupeng/apktool/framework/1.apk I: Loaded. I: Decoding file-resources... W: Cant find 9patch chunk in file: "drawable-mdpi/navbar.9.png". Renaming it to *.png. I: Decoding values*/* XMLs... I: Done. I: Copying assets and libs... </span>
顯示如上,注意apktool的參數,d表示decode,b表示build,此時在當前目錄生成apk的解壓文件:
1/xgd_android_test$ ls AndroidManifest.xml apktool.yml lib res smali
這里有apk的源碼(smali)、圖片、xml配置和語言配置等等信息。
使用dex2jar和JD-JUI這兩個工具查看java源碼
下載dex2jar、JD-JUI 兩個包,解壓。
把apk的后綴名改成zip,并解壓得到classes.dex文件,在dex2jar目錄中輸入如下命令得到.jar文件:
<span>$ ./dex2jar.sh classes.dex this cmd is deprecated, use the d2j-dex2jar if possible dex2jar version: translator-0.0.9.9 dex2jar classes.dex -> classes_dex2jar.jar Done. </span>
再使用JD-JUI打開該文件就能查看源代碼:
與源代碼對比:
package xgd.android; import android.app.Activity; import android.os.Bundle; public class ICCardActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.iccard); } }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。