华为荣耀4X使用eRecovery恢复系统

坏的过程不多说了,此机现在的状态是:恢复出厂设置失败,Fastboot不能连接USB(请求设备描述符失败),充电时按音量+开机,可以进入eRecovery模式,可以连接wifi但“获取安装包信息失败”。

经过论证与实践,找到一个可行方案:搭建服务器,让手机能获取到安装包信息。先贴上两个重要的地址

荣耀4X官方刷机包,我的型号是CHE-TL00H,从下面的链接中可以找到我的型号,点了一下可以下载。

https://cn.club.vmall.com/thread-11625493-1-6-1610.html

搭建升级包服务器的一个例子,他是用一种代理软件来获得手机的请求地址,并给予特定的返回信息。

https://www.micropissed.com/2017/01/you-can-upgrade-to-android-7emui-5-before-it-says-theres-an-update

下面来讲一下我的具体实现:

1,电脑开热点,让手机连接上来,把它请求的地址利用Hosts文件直接解析到本机。通过上面的例子可以知道POST地址是

http://query.hicloud.com/sp_ard_common/v2/Check.action

所以我的hosts文件增加一条 192.168.137.1    query.hicloud.com

2,写一段程序来接收这个POST请求,并返回刷机包信息

;POST请求 /sp_ard_common/v2/Check.action 时,返回以下json

{
"status": "0",
"autoPollingCycle": "1",
"components": [{
"name": "FRD-L04C567B360-OTA",
"version": "CHE-TL00HB580",
"versionID": "80022",
"description": "4X (2017/01/03)",
"createTime": "2017-01-03T03:18:12+0000",
"url": "http://update.hicloud.com:8180/TDS/data/files/p3/s15/G1020/g223/v80022/f1/"
}]
}


;上面的url是我手机的下载地址,必须跟自己的手机对应啊

这样再连接wifi就可以获取到安装包了。

我还遇到恢复系统时卡在99%不动了,我按电源强制重启,竟然正常开机了,手机修复。

下面再贴一下关键代码,用go语言的,有个叫gin的web服务端框架,很好用。

package main

import (
	"fmt"
	"net/http"
	"github.com/gin-gonic/gin"
)

func main() {

	gin.SetMode(gin.DebugMode) //全局设置环境,此为开发环境,线上环境为gin.ReleaseMode
	router := gin.Default()    //获得路由实例

	//添加中间件
	router.Use(Middleware)
	//注册接口

	router.POST("/sp_ard_common/v2/Check.action", HuaweiJson)
	//监听端口
	http.ListenAndServe(":80", router)
}

func HuaweiJson(c *gin.Context) {

	retjson := `{
"status": "0",
"autoPollingCycle": "1",
"components": [{
"name": "FRD-L04C567B360-OTA",
"version": "CHE-TL00HB580",
"versionID": "80022",
"description": "4X (2017/01/03)",
"createTime": "2017-01-03T03:18:12+0000",
"url": "http://update.hicloud.com:8180/TDS/data/files/p3/s15/G1020/g223/v80022/f1/"
}]
}`

	c.Data(http.StatusOK, "application/json", []byte(retjson))
	return
}

最后,再上几张图吧,使用wireshark抓包分析的

/full/filelist.xml

<?xml version="1.0" encoding="utf-8"?>
<root>
<component>
<name>TCPU</name>
<compress>0</compress>
</component>
<vendorInfo name="common" subpath="" logfile="changelog.xml" package="update.zip" />
<files>
<file>
<spath>changelog.xml</spath>
<dpath>changelog.xml</dpath>
<operation>c</operation>
<md5>B77CE557BE18D9AE56EF75AFE989CF7A</md5>
<size>2534</size>
</file>
<file>
<spath>update.zip</spath>
<dpath>update.zip</dpath>
<operation>c</operation>
<md5>FA2AA6B0FAE8416842CFCA6A13CB3ACF</md5>
<size>1622005806</size>
</file>
</files>
</root>

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
好的,我可以用生成器模式来模拟批量生产华为Matebook X pro的流水线。以下是一个简单的示例: ```python class MatebookXPro: def __init__(self): self.gpu = None self.cpu = None self.ram = None self.storage = None def __str__(self): return f"Matebook X Pro with {self.gpu}, {self.cpu}, {self.ram}, and {self.storage}" class MatebookXProBuilder: def __init__(self): self.product = MatebookXPro() def add_gpu(self, gpu): self.product.gpu = gpu def add_cpu(self, cpu): self.product.cpu = cpu def add_ram(self, ram): self.product.ram = ram def add_storage(self, storage): self.product.storage = storage def get_product(self): return self.product def matebook_x_pro_generator(): builder = MatebookXProBuilder() # 生产第一批 Matebook X Pro builder.add_gpu("Nvidia MX150") builder.add_cpu("Intel Core i7-8550U") builder.add_ram("16GB DDR4") builder.add_storage("512GB SSD") yield builder.get_product() # 生产第二批 Matebook X Pro builder.add_gpu("Nvidia MX250") builder.add_cpu("Intel Core i7-10510U") builder.add_ram("16GB LPDDR3") builder.add_storage("1TB NVMe SSD") yield builder.get_product() # 生产第三批 Matebook X Pro builder.add_gpu("Nvidia MX350") builder.add_cpu("Intel Core i7-1165G7") builder.add_ram("16GB LPDDR4x") builder.add_storage("2TB NVMe SSD") yield builder.get_product() ``` 在这个示例中,我们定义了一个 MatebookXPro 类和一个 MatebookXProBuilder 类。MatebookXPro 类表示一个 Matebook X Pro 笔记本电脑,而 MatebookXProBuilder 类则负责构建 Matebook X Pro 对象。我们还定义了一个名为 matebook_x_pro_generator 的生成器函数,它会使用 MatebookXProBuilder 类来批量生产 Matebook X Pro 笔记本电脑。 生成器函数会生成三个 Matebook X Pro 对象,每个对象都具有不同的 GPU、CPU、RAM 和存储配置。这样,我们就可以模拟一条生产流水线,逐步地构建出 Matebook X Pro 笔记本电脑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baikunlun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值