news 2026/9/14 21:28:14

Flipper Zero 等级修改完全指南:通过 .dolphin.state 文件自由升级与降级(Official / Unleashed / RogueMaster / Xtreme)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flipper Zero 等级修改完全指南:通过 .dolphin.state 文件自由升级与降级(Official / Unleashed / RogueMaster / Xtreme)

Flipper Zero 等级修改完全指南:通过 .dolphin.state 文件自由升级与降级(Official / Unleashed / RogueMaster / Xtreme)

【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper

Flipper Zero 内置的 Dolphin 养成系统会根据你的使用行为积累经验(icounter)并逐步提升等级,而等级文件.dolphin.state存放在设备内部存储(Internal Flash)中。本指南以本仓库 Dolphin_Level 目录提供的全套状态文件为核心,系统讲解如何通过替换该文件实现等级的自由升级与降级,覆盖官方(Official)、Unleashed、RogueMaster 以及已归档的 Xtreme 固件,读完你即可独立完成备份、替换、回滚的全流程操作。

一、原理:Dolphin 等级到底存储在哪里

Flipper Zero 的 Dolphin 系统(即设备上的虚拟宠物养成模块)会把玩家的行为数据持久化到一个名为.dolphin.state的二进制文件中,存放在设备的Internal Flash(内部存储)根目录,而不是 SD 卡上。设备每次开机都会读取该文件来决定当前的等级、经验值(icounter)与情绪状态(butthurt)。

因此,修改等级的思路非常简单:准备好一个写入目标经验值的.dolphin.state文件,替换掉设备上原有的同名文件,然后重启设备,Flipper 就会按新文件中的经验值重新计算等级并播放对应的升级动画。

本仓库 Dolphin_Level 目录中的全部.dolphin.state.*文件都是通过 DroomOne_FlipperScripts 中的dolphin_state.py脚本生成的,文件名末尾的数字即为写入的经验值(文档中记作DO#)。

1.1 二进制文件结构(源码级验证)

.dolphin.state是一个采用 Flipper 固件saved_struct序列化格式的二进制文件,并非普通文本。使用仓库自带的 dolphin_state.py 脚本可以直接解析其内部结构,其布局如下:

  • 头部 8 字节:magic(0xD0)、version(1)、checksumflagstimestamp
  • 随后 8 字节:SubGhz、RFID、NFC、IR、iButton、BadUSB、U2F 七个功能模块的计数以及butthurt_daily_limit
  • 再往后依次是flagsicounter(4 字节无符号整数)、butthurt(4 字节)、timestamp(8 字节)。

本仓库中官方/Unleashed 用状态文件均为40 字节,校验和是除头部前 2 字节外所有字节之和的模 256。我实测解析了仓库中的文件,确认其 icounter 值与文档标注完全一致:

文件实测 icounter文档标注DO#含义
.dolphin.state.ZERO20从零开始
.dolphin.state.TOP1734734下一次操作即升到 2 级
.dolphin.state.LVL2a735735重启后直接播放升 2 级动画
.dolphin.state.TOP229392939下一次操作即升到 3 级
.dolphin.state.LVL3a29402940重启后直接播放升 3 级动画
.dolphin.state.FIN329412941 或更大满级(Level 3)终点

说明:早期官方固件满级为 3 级,因此"满级"文件 icounter 只需 2941;而 RogueMaster、Xtreme 等第三方固件把等级上限扩展到了 30 级,对应文件数值会大得多(见后文)。

1.2 为什么文件必须"以点开头"

文档特别强调:由于近期固件变更,替换文件必须以点号.开头命名(即最终名称必须是.dolphin.state,而不能是dolphin.state)。因为 GitHub 对点开头的隐藏文件不太友好,下载后务必确认文件名仍以点号开头,否则固件将无法正确识别并加载。

二、快速上手:官方 / Unleashed 固件的五种状态文件

如果你不想折腾脚本,只想"一步到位"(原文:git'r'done),可以直接从仓库根目录下载以下文件之一,它们分别对应不同的等级目标:

  • .dolphin.state.ZERO —— 从零开始的萌新状态(_DO#: 0)
  • .dolphin.state.TOP1 —— 下一次操作即升级到 LVL 2(_DO#: 734)
  • .dolphin.state.LVL2a —— 重启后立即播放 LVL 2 升级动画(_DO#: 735)
  • .dolphin.state.TOP2 —— 下一次操作即升级到 LVL 3(_DO#: 2939)
  • .dolphin.state.LVL3a —— 重启后立即播放 LVL 3 升级动画(_DO#: 2940)
  • .dolphin.state.FIN3 —— 已是满级,无需再肝(_DO#: 2941 及以上)

其中TOP*系列把经验值设置在升级门槛前 1 点,让你手动触发一次升级动画;LVL*a系列直接越过门槛,重启即播放动画;FIN3则是官方固件下的最高等级状态。所有文件实测butthurt(情绪值)均为 0,属于"心情良好"的初始状态。

三、替换操作全流程(qFlipper 图形界面)

3.1 第一步:下载并重命名

把上面选中的文件(如.dolphin.state.TOP1)下载到本地任意位置后,重命名为.dolphin.state(去掉后缀)。再次确认文件名以点号开头。

3.2 第二步:通过 qFlipper 进入内部存储

打开 qFlipper 连接设备,进入文件浏览器(File browser)区域,可以看到Internal Flash(内部存储)和外部 SD 卡两个分区。双击打开Internal Flash——等级文件存在这里,而不是 SD 卡。

3.3 第三步:开启隐藏文件显示

内部存储里的文件不多,但关键文件是隐藏的。在 qFlipper 中开启"显示隐藏文件"选项,即可看到已存在的.dolphin.state文件。

3.4 第四步:备份原文件

右键点击.dolphin.state,选择Rename...(重命名),把它改成你认得出来、以后还能改回去的名字,例如.dolphin.state.mine这一步是安全回滚的前提,请务必执行。

3.5 第五步:拖入新文件并重启

把从仓库下载并重命名好的.dolphin.state文件直接拖入同一个目录位置。至此替换完成,重启 Flipper 后即可看到新等级生效(如 Level 3 满级动画)。

3.6 第六步(可选):恢复原等级

想回到原来的进度?重复上述流程:先删除新放入的.dolphin.state文件,再把之前备份的.dolphin.state.mine(或你自定义的名字)重命名回.dolphin.state,再次重启 Flipper 即可完全恢复。该过程可以无限次重复,随时在自定义等级与原始进度之间切换。

四、进阶:用 DroomOne 脚本 DIY 任意经验值

仓库在 Dolphin_Level/DroomOne_Python.zip 中打包了 DroomOne 的dolphin_state.py脚本(以及配套的示例文件与说明),适合"爱折腾"的玩家自己生成任意经验值的状态文件。解压后用法如下:

# 查看某个 .dolphin.state 文件的当前内容 python3 dolphin_state.py .dolphin.state # 修改经验值(icounter)并另存为新文件 python3 dolphin_state.py .dolphin.state --icounter 5000 --out my.state # 修改情绪值(butthurt)并另存(注意最大为 14) python3 dolphin_state.py .dolphin.state --butthurt 0 --out my.state

脚本参数一览:

参数作用说明
file必填输入.dolphin.state文件的路径
--out <path>可选输出新文件路径;修改 icounter/butthurt 时必须指定
--icounter <int>可选覆盖 icounter(经验值)
--butthurt <int>可选覆盖 butthurt(情绪值),最大值 14,超出会被脚本拒绝

脚本底层用struct按固定布局读写 40 字节数据,并且在保存时会重新计算并写回校验和dolphin_state_save函数),因此生成的文件可以被固件正常加载。它还能打印每个功能模块(SubGhz/RFID/NFC/IR/iButton/BadUSB/U2F)的使用计数和butthurt_daily_limit,方便你完整了解当前状态文件。

五、各固件等级表与专属文件

5.1 RogueMaster:30 级制

RogueMaster 固件扩展了等级体系,需要专门的等级文件,位于 Dolphin_Level/RogueMaster 目录。其完整等级-经验对照表如下(每个等级文件icounter实测与该表一致):

等级经验阈值等级经验阈值等级经验阈值
LVL010LVL1116250LVL2158250
LVL02500LVL1219250LVL2265250
LVL031250LVL1322500LVL2373250
LVL042250LVL1426000LVL2482250
LVL053500LVL1529750LVL2592250
LVL065000LVL1633750LVL26103250
LVL076750LVL1738000LVL27115250
LVL088750LVL1842500LVL28128250
LVL0911000LVL1947250LVL29142250
LVL1013500LVL2052250LVL30157250
  • LVL 系列:如 .dolphin.state.LVL01 ~ .dolphin.state.LVL30,直接落在对应等级的经验阈值上;
  • TOPL 系列:如 .dolphin.state.TOPL01 ~ .dolphin.state.TOPL29,取"上一个等级门槛减 1"的数值,让你下一步操作就能触发升级;
  • FIN:.dolphin.state.FIN(icounter=157251),即 30 级满级后的终点状态。

例如实测 .dolphin.state.LVL15 的 icounter 为 29750,与表中 LVL15 的阈值完全对应。

5.2 Xtreme(已归档):含 AT_LEVEL / TOP_LEVEL 双目录

对于曾运行 Xtreme(ClaraCrazy/Dexv)固件的用户,仓库提供了 Dolphin_Level/Xtreme (Archived)/ReadMe.md) 归档目录,所有文件同样是butthurt=0的"Wet"状态:

  • AT_LEVEL/AT_LEVEL/) 目录:AT_LEVEL/.dolphin.state.LVL01~LVL30,直接到达指定等级并触发升级提示;
  • TOP_LEVEL/TOP_LEVEL/) 目录:TOP_LEVEL/.dolphin.state.TOP1~TOP30,差一步升级,下一次操作即升级;
  • 彩蛋文件 .dolphin.state.XXX/.dolphin.state.XXX):实测 icounter 恰好为6969(对应等级 25,经验 6969/7100),非常有趣的"lucky"数值。

仓库还附带了 Create_Xtreme_Files.zip/Create_Xtreme_Files.zip),供需要自行重新生成 Xtreme 系列文件的玩家参考。替换与回滚流程与官方固件完全一致,同样使用 qFlipper 操作内部存储中的.dolphin.state

六、注意事项与常见问题

  • 以点开头:因近期固件变更,文件必须以.开头(.dolphin.state)。GitHub 下载点开头的文件偶尔会丢点,下载后务必检查;
  • 文件位置.dolphin.state位于 Internal Flash(内部存储),不是 SD 卡;操作前先开启 qFlipper 的隐藏文件显示;
  • 务必先备份:重命名原文件(如.dolphin.state.mine)是唯一可靠的恢复手段,删除原文件前一定要确认备份存在;
  • 固件匹配:不同固件(Official/Unleashed、RogueMaster、Xtreme)等级体系不同,请选择对应目录下的文件,混用会导致等级计算与预期不符;
  • 数值上限:DIY 时注意 RogueMaster 满级为 157251(FIN),butthurt 上限为 14,脚本会拒绝超出范围的写入;
  • 替换后需要重启:放入新文件后必须重启 Flipper,等级与升级动画才会生效。

七、相关资料索引

  • 官方/Unleashed 等级文件与完整说明:Dolphin_Level/ReadMe.md
  • RogueMaster 专属等级文件:Dolphin_Level/RogueMaster
  • Xtreme 归档等级文件:Dolphin_Level/Xtreme (Archived)/ReadMe.md)
  • 生成与解析工具:Dolphin_Level/DroomOne_Python.zip(内含dolphin_state.py、示例状态文件与 README)

【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 21:28:02

AI智能体平台选型的5个硬标准:可解释性、状态持久化与私有化水位

1. 这不是选工具&#xff0c;是选“数字分身”的底层逻辑“AI智能体到底怎么选&#xff1f;”——这句话最近在技术群、产品会、甚至咖啡馆里被反复抛出来&#xff0c;像一块试金石&#xff0c;照出不同角色的真实处境&#xff1a;创业者在纠结要不要把客服流程全交给一个智能体…

作者头像 李华
网站建设 2026/9/14 21:27:57

EMC核心原理篇(五):一根导线为什么会变成天线?从电容、电感、E/H场一直讲到真正的电磁辐射

🔥 EMC核心原理篇(五):一根导线为什么会变成天线?从电容、电感、E/H场一直讲到真正的电磁辐射 做汽车电子经常会碰到一个看似很奇怪的现象: 明明只是一根12V电源线,为什么它会辐射? CAN线、USB线、屏线为什么也会变成天线? PCB上一小段走线,什么时候还是“电路”,什…

作者头像 李华
网站建设 2026/9/14 21:27:44

Axure字母分类选择器原型设计与实现

1. 字母分类选择器原型设计概述字母分类选择器是一种常见于移动端应用的交互控件&#xff0c;主要用于快速定位和筛选大量按字母排序的数据项。这种设计模式最早出现在iOS通讯录中&#xff0c;后来被广泛应用于各类需要字母索引的场景&#xff0c;如商品分类、城市选择、音乐列…

作者头像 李华
网站建设 2026/9/14 21:27:31

OpenManus 连上 TaoToken 后,多智能体的长任务不再卡在模型通道上

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 21:26:21

2026一站式AI论文写作软件平台推荐 多场景适配指南

不同学术场景下AI写作工具需求差异不同学术场景的需求差异集中在学科适配、格式要求、合规要求、功能侧重四个方面&#xff0c;用户可根据自身写作场景的核心诉求选择适配的工具&#xff0c;避免功能冗余或需求不匹配。国内学术场景核心需求拆解国内学术写作场景涵盖从学生到科…

作者头像 李华
网站建设 2026/9/14 21:25:49

Excel高效学习笔记:从基础操作到数据分析实战

1. Excel学习笔记的价值与意义作为职场人士必备的办公软件&#xff0c;Excel在日常工作中的重要性不言而喻。26.3.12这个版本号可能代表着某个特定时间点的学习记录&#xff0c;也可能是个人学习体系中的编号标记。无论哪种情况&#xff0c;系统化的Excel学习笔记都能帮助我们&…

作者头像 李华