一般情況下,我們采用apktool(xml資源)+dex2jar+JDGui(jar to java)反編譯Android apk之後的代碼中,涉及到資源索引的信息全部替換成了十進制的數字。
如何將這些數字還原成為原始的資源索引形式呢?
我們希望得到如下形式的代碼:
可讀性就非常高了。
下面講述如何做到這個功能:
b(2130903088);中的數字轉換為16進制以後,是0x7f030030,通過手工在R.java中搜索我們可以找到:
public static final int fir_info_page=0x7f030030;
因此在相應的地方替換為對應的資源索引就可以了,處於layout class之下,因此是 R.layout.fir_info_page 。
好了,原理很簡單,接下來我們編寫一個perl腳本來批量做這個事情,具體代碼如下: