odex反編譯工具
⑴ Android APK+Dex文件反編譯及回編譯工具的使用說明
本工具執行安裝後,直接在【滑鼠右鍵】生成快捷鍵,自動關聯APK、DEX、Odex、Zip等文件。只要在電腦任意「非分區根目錄」,【滑鼠右鍵】點擊相關文件,即可編譯操作。如,反編譯APK及DEX文件,反編譯後生成可編譯的同名文件夾,漢化修改完成後,對文件夾點擊【滑鼠右鍵】根據文件夾反編譯前的文件類型,現在【使用 APKDB編譯】即可!
同時,針對apk和zip文件增加簽名操作,只要【滑鼠右鍵】點擊,選擇【使用 APKDB編譯】選擇【[S]簽名APK文件】即可!簽名前無需刪除原來的【META-INF】簽名數據。本工具會判別apk還是zip並自動刪除簽名數據。
⑵ 編譯android源碼apk是不是生成odex方法
反編譯普通的APK文件: 對於普通的APK/DEX文件的反編譯,其實工具有很多, 包括: ByteCode Viewer: 一個可視化的集成工具,說實話,不太好用,不夠穩定,生成代碼質量中等。 dex2jar + jd_gui: 這兩個工具組合還可以, 用起來比ByteCode Viewer麻煩一些,但比較穩定,生成代碼質量中等。 反編譯ODEX文件: Android 5.0 Lollipop以後,Google用ART代替了以前的Dalvik,對於普通的app來說我們仍然可以用上面的方法來把dex文件反編譯成java源代碼。但對於系統預裝的App,特別是類似應用商店,播放器等, 你會發現這些應用的apk文件中找不到對應的classes.dex文件,而是會發現在其子目錄下有個.odex文件。 那如何反編譯這個odex文件呢?我通過google查了查,知道應該用baksmali,但從github上下載了幾個版本都不行,報各種不同錯誤。 具體方法如下: 1. 從 這里 下載工具包, 解壓縮到本地。 這里的baksmali的版本是2.0.3. 不同版本的baksmali針對的Android內核不同。有時候高版本反倒不好用。 2. 打開工具所在目錄, 按住shift鍵, 點擊滑鼠右鍵,打開Windows命令窗口 3. 把 odex文件拷貝到該目錄 4. 在命令窗口運行: oat2dex.bat *.odex . 正常情況下,應該顯示OK等信息。如果報錯的話,說明這個文件無法轉換,後面的也不用試了。 5. 運行 oat2dex.bat *.odex temp.dex . 運行後會創建一個temp.dex文件。 6. 運行 java -jar baksmali-2.0.3.jar -a 21 -x temp.dex -o source . 運行後會創建一個source的文件夾,並將temp.dex反編譯到該文件夾。-a 21 表明的是Android內核的版本21 7. 運行 java -jar small-2.0.3.jar -a 21 source -o classes.dex , 反編譯為classes.dex文件。 需要注意的是:由這種方式反編譯成的classes.dex 文件相比原生的classes.dex 還是缺少了些信息,因此反編譯這種classes.dex 文件後生成的java代碼可讀性會更差些。 8. 用在線工具JADX 來把 classes.dex 最終反編譯為java代碼。