随身WIFI恢复日记

news2025/1/11 4:56:36

引言

因为折腾WIFI棒子的过程中,不小心砖了。现在需要重新刷一下机,所以把之前的过程的细节给梳理一下

1 、恢复

使用备份镜像文件恢复随身WIFI,使用MIKO软件将文件刷写到EMMC中。等待一会就好了

image-20230522200141215

2 、原始分区

既然已经恢复成原始镜像了,不如深入研究一下,使用MIKO读取出随身WIFI原始镜像的分区表,其分别的作用如下:

序号分区名称起始地址分区大小含义作用
1modem0x00000000400000064 MB调制解调器相关固件
2sbl10x000000008000000512 KBSecondary Bootloader 1
3sbl1bak0x000000008080000512 KBSecondary Bootloader 1备份
4aboot0x0000000081000001024 KBAndroid Bootloader
5abootbak0x0000000082000001024 KBAndroid Bootloader备份
6rpm0x000000008300000512 KB实时功耗管理相关固件
7rpmbak0x000000008380000512 KB实时功耗管理相关固件备份
8tz0x000000008400000512 KB信任区相关固件
9tzbak0x000000008480000512 KB信任区相关固件备份
10hyp0x000000008500000512 KBHypervisor相关固件
11hypbak0x000000008580000512 KBHypervisor相关固件备份
12pad0x0000000086000001024 KB用于填充对齐
13modemst10x0000000087000001.5 MB调制解调器存储区1
14modemst20x0000000088800001.5 MB调制解调器存储区2
15misc0x000000008A000001024 KB杂项存储区,存储一些系统信息
16fsc0x000000008B000001024 Bytes文件系统可读写 flashed_config 区域
17ssd0x000000008B004008 KB传感检测数据存储区
18splash0x000000008B0240010 MB启动画面相关资源存储区
19DDR0x00000000C00000032 KB存储DDR访问相关操作
20fsg0x00000000C0080001.5 MB文件系统可读写 fsgpartition 区域
21sec0x00000000C18800016 KB用于存储一些安全相关的数据
22boot0x00000000C18C00016 MB存储系统内核及启动脚本
23system0x00000000D18C000800 MB存储Android系统及应用程序

3、刷机

详细过程略过,原来的文章有写过,解析一下刷机的脚本

base包中的bat文件

@echo off
echo OpenStick Bootloader
echo please make sure your device in fastboot mode
pause
fastboot erase boot
fastboot flash boot lk2nd.img
fastboot reboot
echo when detected a fastboot device
pause
fastboot oem dump fsc && fastboot get_staged fsc.bin
fastboot oem dump fsg && fastboot get_staged fsg.bin
fastboot oem dump modemst1 && fastboot get_staged modemst1.bin
fastboot oem dump modemst2 && fastboot get_staged modemst2.bin
fastboot erase lk2nd
fastboot erase boot
fastboot reboot bootloader
echo when detected a fastboot device
pause
fastboot flash partition gpt_both0.bin
fastboot flash hyp hyp.mbn
fastboot flash rpm rpm.mbn
fastboot flash sbl1 sbl1.mbn
fastboot flash tz tz.mbn
fastboot flash fsc fsc.bin
fastboot flash fsg fsg.bin
fastboot flash modemst1 modemst1.bin
fastboot flash modemst2 modemst2.bin
fastboot flash aboot aboot.bin
fastboot flash cdt sbc_1.0_8016.bin
fastboot erase boot
fastboot erase rootfs

fastboot reboot
echo flashing debian!
echo when detected a fastboot device
pause

debian包中的bat文件

@echo off
echo OpenStick Debian
echo please make sure your device in fastboot mode
pause
fastboot flash boot boot.img
fastboot -S 200m flash rootfs rootfs.img
echo all done!!
pause

上述两个刷机脚本执行了如下操作:

  1. 检查当前设备是否进入fastboot模式
  2. 擦除boot分区
  3. 将lk2nd.img固件刷入boot分区
  4. 重启设备
  5. 检查当前设备是否进入fastboot模式
  6. 将fsc、fsg、modemst1、和modemst2分区的数据通过fastboot oem dump获取,并存储为对应的.bin文件
  7. 擦除lk2nd分区以释放空间
  8. 再次擦除boot分区
  9. 重新进入fastboot模式
  10. 将EMMC的分区表(gpt_both0.bin)刷入分区表分区(partition)中。
  11. 将处理器子系统固件(hyp.mbn)刷入处理器子系统分区(hyp)中。
  12. 将调度器固件(rpm.mbn)刷入调度器分区(rpm)中。
  13. 将系统引导固件(sbl1.mbn)刷入引导程序分区(sbl1)中。
  14. 将fsc.bin刷入fsc分区
  15. 将fsg.bin刷入fsg分区
  16. 将modemst1.bin刷入modemst1分区
  17. 将modemst2.bin刷入modemst2分区
  18. 将aboot.bin刷入aboot分区
  19. 刷入cdt/sbc_1.0_8016.bin文件
  20. 删除boot分区
  21. 删除rootfs分区
  22. 重新启动设备
  23. 将boot.img固件刷入boot分区
  24. 将rootfs.img固件刷入rootfs分区,并设置缓存区大小为200M(-S 200m)

刷机后分区

序号名称起始地址分区大小大小(KB)含义和作用
1cdt0x40000000x8002设备配置数据,例如产品型号,硬件类型等
2sbl10x80000000x80000512Secondary Bootloader 1
3rpm0x80800000x80000512实时功耗管理相关固件
4tz0x81000000x1000001024信任区相关固件
5hyp0x82000000x80000512处理器虚拟化软件,用于以虚拟形式运行操作系统
6sec0x82800000x400016用户数据的加密/解密密钥
7modemst10x82840000x2000002048第一个运营商相关数据分区
8modemst20x84840000x2000002048第二个运营商相关数据分区
9fsc0x86840000x4001文件系统可读写 flashed_config 区域
10fsg0xC0000000x2000002048文件系统可读写 fsgpartition 区域
11aboot0x100000000x1000001024Android Bootloader
12boot0x101000000x400000064,000操作系统 Bootloader
13devinfo0x141000000x1000001024设备信息配置:例如设备ID和IMEI号等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/561638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能Python-python_qrcode解码

Python QR码解码:了解QR码及其在Python中的使用 QR码(Quick Response Code)也被称为二维条码,是一种可以储存文本、链接等信息的矩阵条码。QR码已广泛应用于各个行业,例如商业广告、政府宣传、电子票据等领域。Python…

python+django+vue医院门诊挂号预约管理系统57wsx

开发语言:Python 框架:django/flask Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 主要功能有:管理员功能:系统首页、个人中心、用户管理、医生管理…

RK3568平台开发系列讲解(环境篇)10min带你获取、了解与编译U-Boot源代码

🚀返回专栏总目录 文章目录 一、U-Boot获取二、U-Boot根目录2.1 api/2.2 arch/2.3 board/2.4 cmd/2.5 common/2.6 config/2.7 disk/2.8 drivers/2.9 dts/2.10 env/2.11 fs/2.12 Makefile、Kbuild、Kconfig、config.mk2.13 mak

Redis+LUA脚本结合AOP实现限流

文章目录 1、demo结构2、自定义接口3、编写写LUA脚本4、通过AOP切面识别需要限流的接口编写切面AOP通知类型 5、Redis限流自定义异常构建Redis限流自定义异常声明这个类为全局异常处理器专属日志 6、流量限制器RateLimiterRateLimitAlgApiLimitRateLimitRuleRuleConfig 7、Guav…

消息hook

一、消息hook的定义 消息 Hook(Message Hook)是一种编程技术,用于拦截、监视和处理计算机程序中传递的消息或事件。它通常用于操作系统、图形界面框架、应用程序框架等软件系统中,允许开发人员在特定的事件发生时执行自定义代码。…

chatgpt赋能Python-python_pubsub

Python PubSub - 一个高效的事件通知机制 在软件开发中,事件驱动编程是一种广泛使用的编程模型。在该模型中,应用程序中的各个组件通过发布和订阅事件来进行通信。Python PubSub是Python中一个有用的事件通知机制,它允许应用程序中不同部分通…

volatile是线程安全的吗?它的底层原理如何实现的?

目录 一、线程安全三要素 二、可见性(强制刷新主内存) 三、有序性(禁止指令重排序) 四、总结 一、线程安全三要素 1)原子性: 一个操作或者多个操作,要么全部执行成功,要么全部执…

Kali-linux使用NVIDIA计算机统一设备架构(CUDA)

CUDA(Compute Unified Device Architecture)是一种由NVIDIA推出的通用并行计算架构,该架构使用GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)及GPU内部的并行计算引擎。用户可以使用NVIDIA CUDA攻击使用哈希…

chatgpt赋能Python-python_pyusb

了解Python pyusb Python pyusb是Python的USB库,用于与USB设备进行通信。它提供了一个Pythonic的API,使得与USB设备进行通信变得非常简单。 什么是Python pyusb Python pyusb是一个Python的USB库,用于与USB设备进行通信。它是基于libusb的…

golang反向代理设置host不生效

文章目录 一、背景二、排查过程1、打印req.header2、tcpdump抓包分析(1)先抓取8080端口的请求,查看header差异(2)抓取目标域名请求体1)网关没有配置header,且proxy清空header2)网关配置header,且…

WPF MaterialDesign 初学项目实战(6):设计首页(2),设置样式触发器。已完结

原项目视频 WPF项目实战合集(2022终结版) 26P 源码地址 WPF项目源码 其他内容 WPF MaterialDesign 初学项目实战(0):github 项目Demo运行 WPF MaterialDesign 初学项目实战(1)首页搭建 WPF MaterialDesign 初学项目实战&…

微服务开发系列 第五篇:Redis

总概 A、技术栈 开发语言:Java 1.8数据库:MySQL、Redis、MongoDB、Elasticsearch微服务框架:Spring Cloud Alibaba微服务网关:Spring Cloud Gateway服务注册和配置中心:Nacos分布式事务:Seata链路追踪框架…

STL-常用算法(二.拷贝 替换 算术 集合)

开篇先附上STL-常用算法(一)的链接 STL-常用算法(一.遍历 查找 排序)_小梁今天敲代码了吗的博客-CSDN博客 目录 常用拷贝和替换算法: copy函数示例:(将v1容器中的元素复制给v2) replace函数示例&#…

06:冯诺依曼计算机

布尔代数:是现代电子计算机的数学和逻辑基础 ---------- 布尔代数与开关电路: ---------- 1945年:冯诺依曼101报告 硬件,操作系统软件、防病毒软件、办公软件、日程生活娱乐软件...... 冯诺依曼体系结构: 算术逻辑单…

chatgpt赋能Python-python_pu__

Python pu()函数介绍及使用方法 在Python编程中,pu()函数是一个常用的输出函数,可以将输出的内容打印到控制台上。在这篇文章中,我们将探讨pu()函数的具体用法以及它在Python编程中的实际应用。 什么是pu()函数 pu()函数是Python标准库中的…

Nacos、Eureka和Zookeeper有什么区别

Nacos、Eureka和Zookeeper都是服务注册中心,它们的主要功能是管理分布式系统中各个微服务实例的注册与发现。它们之间的主要区别在于: 1. 语言支持:Nacos是用Java语言开发的,Eureka是用Java语言开发的,Zookeeper则是用…

MySQL高级篇——覆盖索引、前缀索引、索引下推、SQL优化、主键设计

导航: 【Java笔记踩坑汇总】Java基础进阶JavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线MySQL高级篇设计模式牛客面试题 目录 8. 优先考虑覆盖索引 8.1 什么是覆盖索引? 8.1.0 概念 8.0.1 覆盖索引情况下,“不等于”…

chatgpt赋能Python-python_pythoncom

Python与Pythoncom:为您的SEO提供强大的支持 Python是一种经过广泛应用的高级编程语言,可用于多种应用程序的开发,包括爬虫、机器学习、数据分析、Web开发等等。而Pythoncom则是用于与Windows系统进行交互的Python模块,可以实现与…

小航编程题库机器人等级考试理论一级(2022年12月) (含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 单选题2.0分 删除编辑 答案:C 第1题下列哪个是机器人?( ) A、aB、bC、cD、d 答案解析: 单选题…

小航编程题库机器人等级考试理论一级(2022年6月) (含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 单选题2.0分 删除编辑 答案:D 第1题下列哪个选项属于机器人?(?) A、aB、bC、cD、d 答案解析&a…