官方recovery签名验证的破解教程
下面讲如何破解官方recovery签名验证(这个方法应该是通用的,其他手机可以参考,recovery签名验证破解了,也不用费力编译第三方recovery)
1、从官方ROM里提取recovery.img
2、把recovery.img解出来。。。具体方法可以看沙发。。。我单独拎出来。。。。
3、sbin/recovery 这个二进制执行文件,拷贝到windowsxp里
4、windowsxp安装ida64plus这个软件,这是个反编译软件,我网盘里有一个试用版,功能有限制,这个版本能反编译,但不能保存数据,所以我找到具体改的地方后,再用UltraEdit软件去改的。如果谁有ida64plus这个软件功能不受限制的,请共享下。。。。好东西不要自己留着哦。。。。。
5、用ida64plus这个软件,打开recovery二进制文件,选择ARM cpu,他自动反汇编出所有函数。
6、反汇编成功后,系统问你是否看图形模式,回答no,进文本模式,然后搜索文本sign,系统会直接找到签名验证出错的那段代码那里
7、仔细阅读那段代码,极其他的前后代码,可以发现,系统验证签名共两次,函数是sub_CCE0,这个函数每次返回值在寄存器R0里面。
看第一个框的代码最后:
BL sub_CCE0 调用签名验证函数
MOV R6, R0 把返回寄存器R0的值,传输到R6寄存器备用
CBZ R0, loc_A7B6 系统判断R0的值,如果是0,就直接跳到loc_A7B6,绿色线
这个可以看出,loc_A7B6其实是跳过了再次验证的地方,图中第二个方框。
如果R0是1的话,就不跳转,顺序继续执行,相当于再次验证签名,也就是第二个框
第二个框中代码的最后:
BL sub_CCE0 调用签名验证函数
MOV R6, R0 把返回寄存器R0的值,传输到R6寄存器备用
这里没有判断,直接顺序继续执行到第三个框,也就是loc_A7B6
第三个框,也就是loc_A7B6这里:
这个框的代码最后:
CBZ R6, loc_A7DE
进入这段代码,是判断R6的值(前面两次验证,都把验证返回值保留在R6里),
如果是0,就跳到loc_A7DE,也就是第四个框方向,这个方向的代码是安装卡刷包,具体请自己往后看。
如果是1,就是最后的红线方向的代码,去那里是显示签名非法,退出程序,那里具体代码请自己往后看。
8、鼠标双点签名验证函数sub_CCE0,软件自动跳到显示这个函数的具体内容,拉到这个函数的最后,
可以看到从多个方向来的代码,在结束这个函数前,分别执行了
MOVS R0, #0 这个在左边的框内
MOVS R0, #1 这个在右边的小框内
由此,我们知道,验证函数的返回值,是通过R0寄存器,也印证了前面的代码。
9、到这里,只要把MOVS R0, #1这个1改成0就可以了,表示即使签名验证失败也返回0(0表示成功)
但我这个试用版ida64plus的软件保存不了,所以,我们先用鼠标点中我们要改的地方,也就是那个1,
然后切换标签点“Hex view”,就可以看到要修改地方的具体地址5160
10、用UltraEdit软件打开recovery,找到5160地址,把1改成0保存就可以了,(如果ida64plus能保存就不用这个软件了)
把改过的recovery拷回recovery.img解包目录,然后打包,就可以用odin软件刷了。。。。
官方recovery签名验证的破解教程的更多相关文章
- Dreamweaver CS6破解教程[序列号+破解补丁]
Dreamweaver CS6破解教程[序列号+破解补丁] Adobe Dreamweaver CS6中文简体版下载地址:Dreamweaver CS6中文简体版下载[带破解] 破解之前的准备 1 ...
- 完美:adobe premiere cs6破解版下载[序列号+汉化包+破解补丁+破解教程]
原文地址:http://blog.sina.com.cn/s/blog_6306f2c60102f5ub.html 完美:adobe premiere cs6破解版下载,含序列号.汉化包.注册机.破解 ...
- [海蜘蛛] 海蜘蛛 V8 全线无限试用版 免费发布破解教程
http://bbs.p52.cn/forum.php?mod=viewthread&tid=3499&extra=page%3D1&page=1&_dsign=79c ...
- Navicat Premium v12.0.23.0 破解教程x86,x64通用,手动破解
教程来源于:吾爱破解网站 ----------更新线----------- 2018.01.23 Navicat Premium v12.0.23.0 测试破解依然有效 ----------更新线-- ...
- StarUML破解教程
StarUML破解教程 StarUML官方下载地址:http://staruml.io/download StarUML是一个非常好用的画UML图的工具,但是它是收费软件,以下是破解方法: 1.使用E ...
- Avada v5.0.6 最新版本破解教程如下:
Avada v5.0.6 最新版本破解教程如下: .找到\themes\Avada\includes\avada-envato-api.php文件,注释掉如下两行代码 $response_code = ...
- android黑科技系列——手机端破解神器MT的内购VIP功能破解教程
一.前言 在破解app的时候,我们现在几乎都是在PC端进行操作,但是之前bin神的MT管理器,可以在手机端直接破解,不过也有很大的局限性,但是对于一些简单的app破解没问题的.这个工具其实原理也很简单 ...
- 前端工具WebStorm好在哪里?(带详细破解教程)
前端工具WebStorm好在哪里?(带详细破解教程) 一.总结 1.WebStorm对html特别是HTML5和JS的智能提示简直堪称大神. 2.WebStorm足够的轻量级. 3.WebStorm对 ...
- UltraEdit等软件详细安装破解教程,附注册机(全网独家可用)
--- title: "UltraEdit等软件详细安装破解教程,附注册机(全网独家可用)" categories: soft tags: soft author: LIUREN ...
随机推荐
- 关于C51的中断函数要注意的几个问题
转载自:http://blog.21ic.com/user1/531/archives/2006/16909.html 最近在虾潭逛,发现一些小虾米对C51中断函数有些不了解,今天周末,抽空发个技术帖 ...
- GitHub 如何基於 Node.js 和 Chromium 開發 Atom?
看到回答里, 多数都没有回答到点子上, 还有些给了非常主观的意见而没有给出实际结论和分析过程. 题主的问题有四个: 1. Github 如何基于 Node.js 和 Chromium 开发 Atom? ...
- word 生成目录
生成目录: (1)Ctrl+End,到达文档的最后一页: (2)"插入"菜单--引用--索引和目录(此时出现索引和目录对话框): (3)单击"目录"选项卡 a. ...
- 算法导论(第三版)Problems2(归并插入排序、数列逆序计算)
讨论内容不说明,仅提供相应的程序. 2.1:归并插入排序θ(nlgn) void mergeInsertionSort(int a[], int l, int r, int k) { int m; & ...
- powerdesigner 字段大小写转换\id 自增
转换:tools --> model options-->naming convention name code 自增: 在你所要设为自增型的键上(比如你的id)双击 ,弹出一个Colu ...
- POJ 3723 Conscription
Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6325 Accepted: 2184 Desc ...
- CSS 入门
以下内容均来自 慕课网 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等 ...
- OSI七层以及各层上的协议
各层简介: [1]物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0, ...
- markdown转dokuwiki
markdown markdown格式变得越来越通用,很多博客,云笔记,github等等都支持markdown编写,markdown也能很方便的转化为pdf,html等格式.公司的文档用的dokuwi ...
- JS(六)
没有视频看了,心里有点慌啊,像这种每天都会灌输很多知识的学习方式,我觉得提前预习真的是有奇效,不然不容易跟上老师的思维. 1.发送验证码:简单 <!DOCTYPE html> <ht ...