❶ dex文件怎麼反編譯成jar
android 是 .apk 文件
網上有反編譯的軟體 可以反編譯成源代碼,你可以去網上找找,我用的是 jd-gui-0.3.3
但是,一般來說 程序員在 開發完成後都會混淆打包,即使是反編譯出來,也會有很多 abcdefg,,,, 表示的亂碼
有的軟體 沒混淆 就可以得到源碼,但是這樣的軟體 一般都能在網上找到開源的相關的代碼
祝你成功 !
❷ Android APK+Dex文件反編譯及回編譯工具的使用說明
本工具執行安裝後,直接在【滑鼠右鍵】生成快捷鍵,自動關聯APK、DEX、Odex、Zip等文件。只要在電腦任意「非分區根目錄」,【滑鼠右鍵】點擊相關文件,即可編譯操作。如,反編譯APK及DEX文件,反編譯後生成可編譯的同名文件夾,漢化修改完成後,對文件夾點擊【滑鼠右鍵】根據文件夾反編譯前的文件類型,現在【使用 APKDB編譯】即可!
同時,針對apk和zip文件增加簽名操作,只要【滑鼠右鍵】點擊,選擇【使用 APKDB編譯】選擇【[S]簽名APK文件】即可!簽名前無需刪除原來的【META-INF】簽名數據。本工具會判別apk還是zip並自動刪除簽名數據。
❸ 反編譯classes.dex
目前沒有軟體可以在手機端完成classes.dex反編譯,不說手機,win32平台還沒有呢。
❹ 求助dex工具怎麼反編譯
反編譯apk工具使用最廣泛的就是apktool,這里先說一下整個流程用到的工具有:
1.apktool,下載後拿到apktool.bat和apktool.jar,然後把這兩個工具放到C:\Windows底下。這個工具的作用主要是得到apk的資源文件和配置文件
2.dex2jar 下載這個工具解壓後放到任意盤都可以,後面主要用這個根據apk的classes.dev文件生成供jd-gui工具解析的jar。
3.jd-gui上一步提到其作用,和2一樣,也是下載後放到任意盤即可,到時候只要運行jd-gui.exe打開上一步生成的jar即可查看源碼,下面對這個工具不再贅述
下面詳細說一下前面兩個工具類的詳細用法:
先說apktool的用法:
1.下載後拿到apktool.bat和apktool.jar,然後把這兩個工具放到C:\Windows底下
2.cmd打開後默認是你的計算機,默認的不用改,直接輸入apktool,如果出現如下圖的效果,即表示准備已就緒
接下來,apktool d f:\app-debug.apk f:\app像這樣輸入,這里的f:\app-debug.apk是你的將要被反編譯的apk的絕對路徑,後面的f:\app是apk反編譯後資源文件將要放入的文件夾,不需要事先新建好,在這里寫好就行了,輸入完回車,如果成功的話,即可在文件夾中看到資源文件,這里apktool的流程算完了。
接下來說一下第二個工具,dex2jar的使用流程:
1.把你將要反編譯的apk的擴展名改成壓縮包的擴展名(rar\zip等),然後對其解壓,找到classes.dev文件,將之復制後貼到dex2jar底下,效果如如下:
接下來又要寫命令了,同樣cmd,然後轉換到你的dex2jar目錄,然後輸入dex2jar.bat classes.dev,然後回車即可在dex2jar.目錄中看到一個classes_dex2jar.jar。好了,完了,貼圖
得到classes_dex2jar.jar了,前面說了jd-gui的作用了,直接打開這個就行了,得到的就是源代碼了
❺ 如何反編譯Android 的apk/dex/odex,獲得源碼
關於APK,DEX的介紹
當我們編譯一個安卓項目的時候,整個項目會被打包成一個 .apk文件。這個文件其實是一個標準的zip文件,因此可以用解壓縮工具打開。這個apk文件一般都包含程序的代碼(在classes.dex文件中), 資源文件, 證書, manifest 文件等。 其中對我們最重要的是classes.dex文件,因為編譯後的位元組碼(bytecode)都是放在這個文件中。我們後面講的反編譯就是針對這個dex文件來的。
反編譯普通的APK文件:
對於普通的APK/DEX文件的反編譯,其實工具有很多, 包括:
ByteCode Viewer: 一個可視化的集成工具,說實話,不太好用,不夠穩定,生成代碼質量中等。
dex2jar + jd_gui: 這兩個工具組合還可以, 用起來比ByteCode Viewer麻煩一些,但比較穩定,生成代碼質量中等。
在線反編譯工具JADX: http://www.javadecompilers.com/apk , 這是基於SourceForge上的JADX的開源工具來實現的。本來以為在線反編譯質量不會好,但出人意料的是:JADX是我發現的最好的反編譯工具, 不但使用簡單(直接上傳,轉換,下載就ok),而且反編譯出來的代碼質量很高,特別是變數命名方面,可讀性很不錯。
反編譯ODEX文件:
Android 5.0 Lollipop以後,Google用ART代替了以前的Dalvik,對於普通的app來說我們仍然可以用上面的方法來把dex文件反編譯成Java源代碼。但對於系統預裝的App,特別是類似應用商店,播放器等, 你會發現這些應用的apk文件中找不到對應的classes.dex文件,而是會發現在其子目錄下有個.odex文件。 那如何反編譯這個odex文件呢?我通過google查了查,知道應該用baksmali,但從github上下載了幾個版本都不行,報各種不同錯誤。經過反復搜索和嘗試,終於找到了這篇文章
: http://www.naldotech.com/how-to-deodex-applications-on-android-5-0-lollipop/ 。 具體方法如下:
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代碼。
❻ 為什麼我無法使用反編譯工具將classes.dex文件反編譯
類似的問題我也遇到過,貌似並非所有的classes.dex都能反編譯,
你可以試試其他的classes.dex看看。
❼ 如何利用dex2jar反編譯APK
1
下載dex2jar和JD-GUI,
2
找到我們准備測試用的apk,並將 後綴.apk改為.zip
3
將test.zip解壓,並查看目錄,找到classes.dex
4
並將這個文件拷至dex2jar工具存放目錄下
5
打開控制台,使用cd指令進入到dex2jar工具存放的目錄下,如圖
6
進入到dex2jar目錄下後,輸入「dex2jar.bat classes.dex」指令運行
執行完畢,查看dex2jar目錄,會發現生成了classes.dex.dex2jar.jar文件
7
上一步中生成的classes.dex.dex2jar.jar文件,可以通過JD-GUI工具直接打開查看jar文件中的代碼
❽ 安卓反編譯classes.dex得到smile語言中 循環結構有什麼特徵
最傳統的匯編循環模式,標簽+條件+goto
lable:
{執行邏輯}
(條件判斷)
goto label
❾ apktool中反編譯dex與反編譯全部有什麼區別
通俗點講,就是它的源代碼破譯它。
例如,我寫了一個游戲,經過編譯反編譯後的dll檔
,把文件轉換成的.cs dll檔(在C#為例)是代碼文件。
❿ 安卓反編譯dex生成samil文件夾,怎麼轉換成src文件夾的java格式
Android_complier這種反編譯工具直接可以把apk包反編譯(產生的文件夾里會有classes.dex.dex2jar.jar這個文件,用jd-gui這個工具查看代碼即可),如果沒有的話用dex2jar工具的命令在命令行里把編譯後的文件夾里的classes.dex文件編成classes.dex.dex2jar.jar,注意寫正確classes.dex的路徑