前言:想當年,recovery.img 會直接放在官網的韌體更新檔裡面,後來改成要從 system.img 裡面提取,現在更麻煩了,要從 system.new.dat 先轉成 system.img,才能解壓縮出來提取
所需工具:adb.exe(自己安裝 Android SDK)、DAT轉IMG工具、解壓縮軟體(我用 7-zip)
一. 先從 ASUS 官網下載要製作的韌體
二. 從韌體檔裡面解出 boot.img、system.new.dat、system.transfer.list
三. 把 system.new.dat、system.transfer.list 放進 SystemExtractor\dat 底下,並執行 解包.cmd
這個工具會先把 system.new.dat 轉成 system.new.img 然後解壓縮出來
四. 在 SystemExtractor\extract\system.new__statfile.txt 裡面找出下列檔案位置並複製出來,等下會用到
recovery-from-boot.p
recovery-resource.dat
install-recovery.sh
加上剛剛的 boot.img ,現在共有4個檔案
五. 參考 install-recovery.sh,修改 applypatch -b 指令,並複製下來等下製作 recovery.img 時需要用到
修改方式:
1. 把 recovery-from-boot.p 後面的 "&& log -t rec..." 都刪除(我們不需要看 log)
2. /system/etc/recovery-resource.dat 替換成 recovery-resource.dat
3. EMMC:/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/boot:9926912:da17a68c9aaf779a3894153a8af4af0d55cd8f21 替換成 boot.img
4. EMMC:/dev/block/platform/mtk-msdc.0/11230000.MSDC0/by-name/recovery 替換成 recovery.img
5. /system/recovery-from-boot.p 替換成 recovery-from-boot.p
我們會獲得一個像這樣的指令:
applypatch -b recovery-resource.dat boot.img recovery.img 6b91087fd55984358675931f6e4dbbf911f0365f 11385088 da17a68c9aaf779a3894153a8af4af0d55cd8f21:recovery-from-boot.p
註:每個型號中間字串可能會有些許不同,請自行變通勿照抄
六. 開始製作 recovery.img
1. 把 boot.img、recovery-from-boot.p、recovery-resource.dat 透過 adb push 放進 /data/local/tmp
2. 進入 adb shell,切換至 /data/local/tmp 目錄 ,執行 applypatch 指令
七. 製作成功!可以透過 adb pull 提取 recovery
特別感謝
對岸網友提供的解包工具工具:https://bbs.le.com/thread-2017402-1.html
shakalaca 大大的講解:https://www.asus.com/zentalk/tw/thread-147621-2-1.html
留言列表