前言:想當年,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

 

 

AwEi 發表在 痞客邦 留言(0) 人氣()