當前位置:首頁 » 編程軟體 » dex編譯器無法編譯代碼

dex編譯器無法編譯代碼

發布時間: 2022-09-03 07:39:19

❶ 求助,apk被加密了,反編譯不了,可有方法解決

下載dex2jar JD-GUI apktool

反編譯步驟:
1.反編譯Apk得到java源代碼
首先要下載兩個工具:dex2jar和JD-GUI
前者是將apk中的classes.dex轉化成Jar文件,而JD-GUI是一個反編譯工具,可以直接查看Jar包的源代碼。

具體步驟:
1.首先將apk文件,將後綴改為zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;
2.解壓下載的dex2jar,將classes.dex復制到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄
運行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar

2.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件
還是下載工具,這次用到的是apktool

具體步驟:
將下載的兩個包解壓到同一個文件夾下,應該會有三個文件:aapt.exe,apktool.bat,apktool.jar
1.解壓縮下載的兩個文件包,apktool-install-windows-r04-brut1.tar解壓縮後得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解壓後的一個.jar 文件到解壓後的\apktool-install-windows-r04-brut1文件夾里)
2.特別注意:你要反編譯的文件一定要放在C盤的根目錄里

❷ DEV-C++無法編譯是怎麼回事

我剛開始也遇到了這個問題 看到一篇很有用的博客 分享一下


希望對你有所幫助!

❸ 如何反編譯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代碼。

❹ MiuiSystemUI.apk反編譯並且修改後無法回編譯,提示出錯。即使反編譯後什麼都不修改直接

、反編譯=回編譯後分別是smali目錄回編譯為classes.dex文件res目錄回編譯為resources.arsc文件2、回編譯順序在回編譯時,會先檢查「源」即resources當你漢化文件,修改出錯了(缺少一個符號也不行),那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali。所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,這要會大大加快回編譯速度。1、反編譯=回編譯後分別是smali目錄回編譯為classes.dex文件res目錄回編譯為resources.arsc文件2、回編譯順序在回編譯時,會先檢查「源」即resources當你漢化文件,修改出錯了(缺少一個符號也不行),那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali。所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,這要會大大加快回編譯速度。3、出錯問題1在漢化時,往往會不小心刪掉一些符號,如""符號等等。FileManager文件管理器/string>這些小小的錯誤都會導致回編時譯檢查出錯。所以漢化時,注意對校,然後再回編譯。建議使用一些高級的文本編輯器,支持語法高亮視圖的。4、出錯問題2最近發現有些APK文件反編譯後,就算不漢化直接回編譯,都會出錯。有可能的原因1,反編譯後XML文件語法中@符號前面多了"\"(\@),用文本編輯工具直接替換【\@】為【@】,應該可以解決。建議使用最新版本的反編譯工具。5、建議大家使用新版本的APKTool工具,當然如果新的有問題也可以試試舊的一、系統文件漢化再次強調1、漢化Settings.apk(系統設置)、MMS.apk(信息)、Phone.apk(電話)、等等系統文件,一定要先安裝構架,具體看另個文件。2、系統文件漢化完後不需要簽名,直接替換漢化後的文件,就可以了。主要是,系統文件放在系統目錄,無需再次讀取簽名獲得許可權,已經是高級了。二、打包說明1、通常漢化完回編譯後,會自動生成所有APK內的文件,或者自動生成*.APK文件。但是建議大家不要直接使用該文件,進了使用替換法,替換掉你漢化後的文件,如:resources.arsc,如果修改過的圖片,等等…2、很多人對於APK文件解壓縮或壓縮都用「WinRAR」或「好壓」,這里不推薦。希望大家安裝7-Zip這個壓縮工具,對於zip格式的支持是最好的。而且很方便,不需要重新關聯apk直接右鍵打開就行了。替換直接拖拉進去,就OK了一、回編譯出錯問題(1.提示strings.xml最後一行錯誤,檢查是否符號錯誤;在漢化時,往往會不小心刪掉一些符號,如""符號等等。FileManager文件管理器/string>(2.提示strings.xml最頂部含中文代碼首行錯誤,編碼格式不對,轉換成UTF-8;(3.提示public.xml出錯,檢查改動過的arrays.xml是否代碼有錯誤的地方;二、一切能正常但無法回編譯還有一種情況,apktool最新版本能正常反編譯一個apk文件,在未做任何修改的情況下,無法回編譯。這是就要注意了,可以嘗試一下用低版本的apktool進行【反編譯】,然後在用高版本的apktoo工具【回編譯】。這里向大家推薦用【APKDB】這個工具,很方便,反編譯時可以選擇apktool的版本。

❺ mt管理器dex編輯器錯誤

1、驅動不穩定,與系統不兼容,這最容易出現內存不能為 Read 或者文件保護
2、系統安裝了一個或者多個流氓軟體,這出現 IE 或者系統崩潰的機會也比較大,也有可能出現文件保護
3、系統載入的程序或者系統正在運行的程序之前有沖突,尤其是部分殺毒軟體監控程序
4、系統本身存在漏洞,導致容易受到網路攻擊。

❻ dex2jar轉化apk成java文件的時候總出現錯誤

如果在反編譯過程中,發現dex2jar此步驟失敗的,請按以下修改方法修改配置:
用文本編輯器編輯:C:\Users\Administrator\Desktop\ApkIDE3.2\ApkIDE
\dex2jar\d2j_invoke.bat
將其中的
java -Xms512m -Xmx1024m -cp
改成
java -Xms128m -Xmx512m -cp
或更小的設置

❼ 求助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的作用了,直接打開這個就行了,得到的就是源代碼了

❽ 為什麼我無法使用反編譯工具將classes.dex文件反編譯

類似的問題我也遇到過,貌似並非所有的classes.dex都能反編譯,
你可以試試其他的classes.dex看看。

❾ Android上,怎麼用16進制加密apk的dex文件讓別人無法反編譯或進內部查看原代碼

可以在Dex文件頭隱藏另一個DEX數據並在運行時載入附帶DEX數據。
構建非規范的Dex文件
通過反射調用DexFile類的方法載入附帶DEX數據
通過反射實際調用DexFile的openDexFile方法

該種方式允許通過byte[]解析dex數據,而無須在再把DEX數據存儲在設備的某個文件。
可以從安裝APK文件、內存或dalvik-cache等讀取dex數據。
該種方式將給自動化分析工具帶來一個問題,自動化工具會按照dex格式處理DEX文件而不會處理附帶的dex數據。需要特定的工具、16進制編輯器或手工提取嵌入的dex數據。
我們可以採用各種不同的方式增加嵌入數據的提取難度,比如:
對嵌入的DEX數據進行加密;
嵌入的DEX數據加密後在對其進行ZIP壓縮;
使用native代碼解密,直接從內存載入;
......等等

該種隱藏方式可以通過判斷Dex文件頭長度是否大於0x70檢測。

熱點內容
銳志哪個配置性價比最高 發布:2025-02-12 17:38:43 瀏覽:918
智能推送演算法 發布:2025-02-12 17:38:41 瀏覽:835
拍照上傳器 發布:2025-02-12 17:34:29 瀏覽:652
androidweb框架 發布:2025-02-12 17:32:45 瀏覽:76
安卓編程賀卡 發布:2025-02-12 17:32:44 瀏覽:838
php獲取資料庫的欄位 發布:2025-02-12 17:29:02 瀏覽:766
伺服器地址消失 發布:2025-02-12 17:23:36 瀏覽:951
後台執行php腳本 發布:2025-02-12 17:21:45 瀏覽:471
spring編程式事務 發布:2025-02-12 17:16:55 瀏覽:398
nginx禁止ip訪問 發布:2025-02-12 17:15:14 瀏覽:274