破解官方recovery的簽名驗證


步驟簡述
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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM