起因:
因為目前使用的milerstone2已改刷CM7
但是覺得moto官方內建的任務管理器很好用,想抓出來另外安裝
(誤刪系統檔案的也可以用這個方式回復)
1.必須先從官方的SFB檔提取我們想要的APK檔
2.合併APK檔及ODEX檔
1.參考機鋒網的教學(簡體網站)
http://bbs.gfan.com/android-1724267-1-1.html
工具包:http://www.megaupload.com/?d=DKJEEGSH
先用MotoAndroidDepacker.exe解開SBF檔(不知道非MOTOT的能不能用)
yaffs2img瀏覽器我的電腦開不起來
不過可以用explore2fs-1.08beta9.exe來提取APK檔
(這兩個程式都放在工具包裡面了)
執行MotoAndroidDepacker.exe將下載下來的SBF文件解包成SMG文件
具體做法是點選Open From File,打開剛才下載好的SBF檔
成功打開後會提示File Opened,接著點擊Split to Folder按鈕即會對文件進行解壓
,解出來的文件會存放在與.sbf文件相同文件夾內
執行explore2fs(放到解出來的SBF資料夾內),依次點擊File→Open Image File,
再在文件類型裡選擇All files(或是直接手動輸入)
,然後選擇剛才生成的文件夾裡的CG39.smg打開
(不同的MOTO手機對應的smg文件不同,比如Defy跟Milestone2是CG39.smg
atrix 4G是CG57.smg,請自行嘗試)
點選左邊側邊欄裡的同名文件可以看到很多的資料夾,點選app資料夾
,所有的係統內建的程式就都在這裡了。
在要提取的程序上按右鍵並點擊Export file就可以將它保存在電腦上了。
這邊要注意一下,比如說我要找的任務管理器的檔案是PerformanceManager.apk
在這裡要順便提取PerformanceManager.odex
2.合併apk跟odex
參考文章:http://chroya.iteye.com/blog/688904
裡面提到的五個jar檔
core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar
都可以在CF39.smg的/system/framework 裡面找到
另外文章內提到的 smali-1.2.2.jar 和 baksmali-1.2.2.jar 要抓新版的才能用
http://code.google.com/p/smali/downloads/list
接下來把所有的檔案都放在同一個資料夾
在開始,執行,輸入cmd,然後進到放檔案的資料夾
輸入 java -jar baksmali-1.2.8.jar -x PerformanceManager.odex(檔名自行替換)
分離odex後會產生一個out的資料夾
接下來輸入 java -Xmx512M -jar smali-1.2.2.jar out -o classes.dex
就會產生classes.dex 文件
再來把原本的PerformanceManager.apk打開(按右鍵>開啟>選擇winrar)
將產生的classes.dex拖放到winrar裡面即可
再來就是要做簽名的動作(不簽名無法安裝)
下載 apk簽名工具 http://www.megaupload.com/?d=GKRIOO2B
簽名完後丟到手機裡面就可以安裝了

X