2012-04-21 21 views
0

我一直在玩逆向工程,並且在編輯後遇到了重新編譯的麻煩。將.java轉換回classes.dex

我第一次使用apktool:

apktool d input.apk out 
apktool b out 

然後我用dex2jar轉換classes.dex到罐子,然後使用JD-GUI提取java文件。我進去並更改了一個字符串值,以便所有東西都可以被保存,但是可以看到它是否工作,所以代碼應該都可以工作。所以我有名爲'classes'的.java文件夾,我嘗試使用DX將其轉換回dex文件。我進入:

dx --dex classes --no-strict 

,並得到這些錯誤: enter image description here

+0

我只是想知道這個工具必須如何用於Android應用盜版。 – 2012-04-21 17:11:53

+0

任何工具都可以用於善或惡。這個工具的主要用途是修改這是我正在嘗試做的事情。 – Nick 2012-04-21 17:19:58

回答

4

你的排序是有點過,你需要爲承認他們的工具的絕對路徑指定目錄。嘗試

dx --dex --output C:/Users/SkyNet/Desktop/new_dex_file.dex C:/Users/SkyNet/Desktop/classes 

這應該使您的桌面從類文件夾上new_dex_file.dex文件比在桌面上。

+0

解決了這兩個錯誤,謝謝。但現在它說「指定noclassfiles」。我有路徑到持有所有.java文件的子文件夾,會導致這個問題? – Nick 2012-04-21 18:03:55

+0

您需要先將您的java文件編譯成.class文件。有關如何執行此操作,請參閱javac。 – 2012-04-21 18:20:25

+0

非常感謝! – Nick 2012-04-21 18:22:04