步驟簡述
1.解包recovery.img,
2.反編譯/sbin/recovery,用ida64plus
3.在反編譯出來的文本中查找:signature
4.簡單的看一下指令流程,CBZ下面是failed提示,則說明不能跳轉指令為簽名驗證失敗,把CBZ指令改為相反的CBNZ指令,
當然這里不能直接改,要轉到二進制窗口查看,CBZ包含在B1中(根據指令結構,B1不一定完全表示CBZ機器碼,這個可以不深究),
查找一下CBNZ指令,大部分都對應16進制:B9,所以把 1改為9,
(另外還有遇到BEQ改為BNE)
應用,
再看簽名驗證處的指令解析,已經CBZ已經變成CBNZ,
這樣的話簽名驗證失敗,反而會執行后面的刷機操作
5.ida似乎不支持修改后保存,所以用UltraEdit搜索周圍的16進制關鍵字,
修改B1->B9(其他機器我不知道是不是也是B1,B9)
5.替換原來的recovery,打包回去recovery.img。