官方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 ...
随机推荐
- BZOJ2091: [Poi2010]The Minima Game
2091: [Poi2010]The Minima Game Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 243 Solved: 163[Subm ...
- HDU_2045——RPG问题,递推
Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Co ...
- 高性能Java解析器实现过程详解
如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...
- Scala-的元组和映射
package com.mengyao.scala.function /** * Scala 映射 * Scala中的Key,Value集合被称为映射,映射中的每一个key,value称为对偶 * ...
- JS 中的引用
首先有一个全局变量 JsonArry={"key":"value"}; 假设这个object为{"你好":"引用"} ...
- linux权限及ntfs文件系统权限的知识
关于ntfs权限的问题 文件的权限: [-dcbps][u:rwx][g:rwx][a:rwx] 当中: r=4, w=2, x=1, u=owner, g=group, a=all user ...
- CSU1659: Graph Center(最短路)
Description The center of a graph is the set of all vertices of minimum eccentricity, that is, the s ...
- 常用渗透性测试工具(Tools for penetration testing)
常用渗透性测试工具 原文:http://hi.baidu.com/limpid/item/14a2df166adfa8cb38cb3068 对一个应用项目进行渗透性测试一般要经过三个步骤. 第一步, ...
- iOS-BLE蓝牙开发持续更新
文/煜寒了(简书作者)原文链接:http://www.jianshu.com/p/84b5b834b942著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 在写这个博客之前,空余时间抽看 ...
- 内容提供者 DocumentProvider Uri工具类
Activity /**详见http://blog.csdn.net/coder_pig/article/details/47905881 Calendar Provider:日历提供者,就是针对针对 ...