將apk文件中的classes.dex反編譯成java源碼

偶然間閒逛的時候發現了dex2jar這個開源項目,地址是http://code.google.com/p/dex2jar/html

支持把classes.dex 轉換成jar文件,在利用jd-gui將jar翻譯成java源碼,地址是http://java.decompiler.free.frjava

步驟很簡單,這裏就不累贅了,dex2jar下有個叫作dex2jar.bat的文件,cmd下面以下運行 dex2jar.bat classes.dex(若是在ubuntu下,請使用 dex2jar.sh) 這樣就會在同目錄下生成classes.dex的jar文件了,我try了下,效果很是好ubuntu

注意:其中jd-gui不只能夠打開.jar文件,將其轉換成java源碼,同時也能夠將任何.class文件轉換成.java的文件。工具

轉載至:http://www.open-open.com/lib/view/open1329489747389.htmlui

若是進行漢化google

須要兩個工具baksmali.jar和smali.jar,電腦需配置好java環境 能夠去這裏下載,也能夠下載本帖附件:http://code.google.com/p/smali/downloads/list 方法:假如你將下載到的baksmali.jar和smali.jar放到F盤幹目錄下,請將此代碼複製到記事本並另存爲反編譯.bat【注:本帖附件已包含編譯/反編譯bat文件,能夠略去此步】翻譯

<!-- lang: java -->
@echo off
f:
java -jar baksmali.jar classes.dex


@echo off
f:
cd f:
java -jar smali.jar out

而後你將須要反編譯的classes.dex也放入F盤根目錄,點擊反編譯.bat。你會看到彈出的DOS窗口,幾秒鐘後窗口自動關閉,並在F盤下生成一個out的文件件。這裏面有不少.smali的文本文件,咱們所要漢化的非標準資源就隱藏在其中。等你修改翻譯完成後,再點擊編譯.bat,稍等一刻兒,F盤根目錄下就會生成編譯後的新文件out.dex,你將其更名爲classes.dex,打包進apk,簽名便可。code

相關文章
相關標籤/搜索