You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取Firefox localStorage数据库data.sqlite中value列的BLOB数据?

恢复Firefox localStorage中浏览器游戏存档的方法

1. 明确Firefox的localStorage存储逻辑

Firefox将localStorage中的字符串数据以BLOB类型存储时,本质是UTF-8编码的原始字符串,并非复杂二进制加密。结合你提到的新存档是Base64编码的JSON格式,丢失的存档数据大概率也是同格式,只是被SQLite以BLOB形式保存。

2. 提取并转换BLOB数据

用SQLite命令行导出BLOB

相比GUI工具,命令行导出更精准,执行以下步骤:

  1. 打开终端,运行SQLite工具连接目标文件:
    sqlite3 /home/fdagpigj/.mozilla/firefox/45otyetp.default/storage/default/https+++v6p9d9t4.ssl.hwcdn.net^partitionKey=%28https%2Citch.io%29/ls/data.sqlite
    
  2. 执行导出命令,将BLOB数据保存到临时文件:
    SELECT writefile('/tmp/villager_save_raw.bin', value) FROM storage WHERE key = 'VillagerKingsSave';
    .quit
    

转换为可读文本

由于数据是UTF-8编码的字符串,直接将二进制文件转为文本即可:

cat /tmp/villager_save_raw.bin > /tmp/villager_save.txt

如果打开后仍显示乱码,尝试转码为UTF-8:

iconv -f utf-16le -t utf-8 /tmp/villager_save_raw.bin > /tmp/villager_save_utf8.txt

3. 解码并恢复存档

  1. 打开转换后的文本文件,复制其中的Base64编码内容。
  2. 将Base64解码为JSON:
    echo "复制的Base64内容" | base64 -d > /tmp/recovered_save.json
    
  3. 验证JSON格式无误后,打开游戏并按F12调出调试控制台:
    • 切换到Storage标签,选择LocalStorage下对应游戏的域名
    • 找到VillagerKingsSave键,将解码后的JSON(或原Base64内容,根据游戏实际存储方式)粘贴到值的输入框中
    • 刷新页面,检查存档是否恢复

注意事项

  • 操作前务必备份原始的data.sqlite文件,防止数据损坏
  • 如果解码后JSON格式异常,可能是导出过程中数据截断,重新执行SQLite导出命令
  • 极少数情况下游戏会对存档做简单加密,此时需要分析游戏前端代码的存档逻辑

内容的提问来源于stack exchange,提问作者fdagpigj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:49:54