码迷,mamicode.com
首页 > 其他好文 > 详细

破解官方recovery的签名验证

时间:2014-11-22 23:03:08      阅读:1171      评论:0      收藏:0      [点我收藏+]

标签:http   os   sp   bs   ad   ef   tt   应用   nbsp   

步骤简述
1.解包recovery.img,
2.反编译/sbin/recovery,用ida64plus
3.在反编译出来的文本中查找:signature

bubuko.com,布布扣

4.简单的看一下指令流程,CBZ下面是failed提示,则说明不能跳转指令为签名验证失败,把CBZ指令改为相反的CBNZ指令,
当然这里不能直接改,要转到二进制窗口查看,CBZ包含在B1中(根据指令结构,B1不一定完全表示CBZ机器码,这个可以不深究),

 

bubuko.com,布布扣

查找一下CBNZ指令,大部分都对应16进制:B9,所以把 1改为9,
(另外还有遇到BEQ改为BNE)

 

bubuko.com,布布扣

应用,

 

bubuko.com,布布扣

再看签名验证处的指令解析,已经CBZ已经变成CBNZ,

bubuko.com,布布扣

这样的话签名验证失败,反而会执行后面的刷机操作
5.ida似乎不支持修改后保存,所以用UltraEdit搜索周围的16进制关键字,

 

bubuko.com,布布扣

bubuko.com,布布扣

修改B1->B9(其他机器我不知道是不是也是B1,B9)

5.替换原来的recovery,打包回去recovery.img。

破解官方recovery的签名验证

标签:http   os   sp   bs   ad   ef   tt   应用   nbsp   

原文地址:http://www.cnblogs.com/qq190771752/p/4115772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!