Android 反編譯XML檔案
阿新 • • 發佈:2018-11-21
我們在進行安卓逆向分析的時候,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