有關odex文件結構請看我leader的博客http://blog.csdn.net/roland_sun/article/details/47183119
非蟲的白皮書也有詳細的講解。
總之odex文件從0x28開始包含一個完整的dex文件,與原來的dex略有不同。
下面具體比較一下從odex當中dump下來的dex有何不同
dey.036開頭,這是一份樣本中獲得的odex文件,可以看到前8個字節爲魔數,9到12字節爲0x28,也就是dex_offset,13到16爲dex_len
根據偏移和長度可以將dex截取下來,命名爲class.dex
左邊是class.dex,右邊是原來的classes.dex
文件的頭部
似乎與想象中的不太一樣,相差不是很大
在用dex2jar分別轉化爲jar包試試
在對class.dex操作的時候輸出了大量的信息
都可以轉化
相比較而言,class.dex的內容偏少,應該是優化的作用
dex文件大小几乎一樣,但是jar文件就差很多了
class的MainActivity
classes的MainActivity
一頁並不能截完,很多就是了