步骤简述
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。
原文:http://www.cnblogs.com/qq190771752/p/4115772.html