1. 程式人生 > >Android 反編譯XML檔案

Android 反編譯XML檔案

我們在進行安卓逆向分析的時候,xml檔案是無法直接開啟的,通過記事本開啟會是亂碼。

我們可以通過之前的AXMLPrinter2.jar來進行還原。

首先下載FXML.zip裡邊的FXML.jar http://download.csdn.net/download/qq_28641023/10118286

這個(為了和之前的混淆改了個名字)FXML.jar是修正 java.lang.ArrayIndexOutOfBoundsException

報錯的原因是因為,反編譯的APP的minSdkVersion大於7,安卓在minSdkVersion > 7時做出了一定的修改,所以以前的jar版本不能使用。

我們將下載好的FXML.jar和xml放在同一目錄中,並在當前目錄開啟命令列,輸入
Java -jar FXML.jar 名字.xml>名字.txt
(將“名字”替換成你要反編譯的xml檔案的名字)

然後就會在當前目錄中生成一個同名的.txt檔案。

這個檔案是可以開啟的,而之所以xml檔案中的id等屬性變成一堆數字,那是因為安卓在載入檔案的時候會將這些資源分配成id寫入R檔案中。而這些數字就是R檔案中的id

如果想要批量反編譯xml,可以輸入如下語句
for /r layout %%a in (*.xml) do @Java -jar FXML.jar “%%a” >>”%%a”.txt