官方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 ...
随机推荐
- HASH JOIN算法
哈希连接(HASH JOIN) 前文提到,嵌套循环只适合输出少量结果集.如果要返回大量结果集(比如返回100W数据),根据嵌套循环算法,被驱动表会扫描100W次,显然这是不对的.看到这里你应该明白为 ...
- bzoj3791 作业
Description 众所周知,白神是具有神奇的能力的. 比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成:对语文作业说一声“语”,语文作业就会出于畏惧而自己完成. 今天,语文老师和 ...
- UML[1] UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)(转)
转自:http://blog.csdn.net/zhaoxu0312/article/details/7212152 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是 ...
- XAMPP的MYSQL无法启动
昨天用各种方式试验MYSQL的数据库备份与恢复操作,恢复过程中,MYSQL就无法启动了. 提示如下: 22:59:43 [mysql] Attempting to start MySQL app... ...
- 关于MSHTML
本文翻译自http://msdn.microsoft.com/workshop/browser/mshtml/overview/overview.aspMSDN Home > MSDN Lib ...
- 開始学习swift开发
近期要開始学习swift开发了,接下来的日子,会记录学习swift的历程.
- 基于简单sql语句的sql解析原理及在大数据中的应用
基于简单sql语句的sql解析原理及在大数据中的应用 李万鸿 老百姓呼吁打土豪分田地.共同富裕,总有一天会实现. 全面了解你所不知道的外星人和宇宙真想:http://pan.baidu.com/s/1 ...
- [Angular 2] Using Promise to Http
You can also use Promise for http: So for the service, you need to call toPromise() method: getVehic ...
- GPG error [...] NO_PUBKEY [...]
今天在Linux下遇到这个问题,发现很多资料都是英文的,为了方便出现同样错误的有英语阅读困难的人,整理解决方案如下: sudo apt-key adv --keyserver keyserver.ub ...
- Vim 自动文件头注释与模板定义
Vim 自动文件头注释与模板定义 在vim的配置文件.vimrc添加一些配置可以实现创建新文件时自动添加文件头注释,输入特定命令可以生成模板. 使用方法 插入模式输入模式输入seqlogic[Ente ...