android反編譯odex文件
關於android的反編譯工具,相信大家並不陌生
如APK-TOOL,dex2jar
APK-TOOL 用於反編譯出布局文件
下載地址http://code.google.com/p/android-apktool/downloads/list
dex2jar 用於將dex反編譯成.jar包
下載地址:http://code.google.com/p/dex2jar/downloads/list
生成的jar包可用jd-gui來查看(前提是代碼未被混淆)
可是假設我們從rom裏面提取出的apk是不能反編譯出源代碼
由於android系統為了加快內置應用的啟動時間,會將dex從apk中提取出來優化成odex(二者都是可運行文件)
所以這就須要我們先將odex轉化為dex再進行反編譯
這就須要用到下面四個文件:
下載地址:http://code.google.com/p/smali/downloads/list
只是在反編譯odex的時候光有源文件還不夠,還須要依賴rom裏面framework下的odex。詳細依賴程度視情況而定,最簡單的方式就是將framework下的odex所有copy過來就可以
以下以紅米rom為例,反編譯Phone資源
如圖示:
system\framework下放置好所依賴的odex文件
輸入java -jar baksmali-2.0.3.jar -d ./system/framework -x Phone.dex
正常會生成out目錄
再輸入java -jar smali-2.0.3.jar out/ -o classes.dex
打包生成的class.dex就是我們要的東西了
以下附上測試用的資源文件
http://download.csdn.net/detail/geniuseoe2012/7352757
心動不如行動,趕緊來嘗試一把吧!
android反編譯odex文件