小盾:敲打

Capabilities

功能与迭代

从 M0 地基到 M5 专业版,ssd 的每一层能力都围绕同一件事:在不写坏源介质的前提下,把能找回的数据找回来,并把找不回的部分说清楚。

恢复能力

四种扫描方式,覆盖不同的数据丢失现场

快速扫描 · 删除文件恢复

读取文件系统元数据,找回文件名、目录结构、时间戳。适用于刚删除、尚未被覆盖的场景。结果带恢复质量分级。

深度扫描 · 文件雕刻

元数据已丢失也能按文件签名找回。JPEG / PNG / MP4 / PDF 结构验证压误报,诚实截断,结果标记为「仅雕刻」。

从文件夹恢复

把任意文件夹当作恢复源(dir: 源)。适合从备份目录、旧盘拷贝里找回误删或误整理的数据;导出保留子目录结构。

限定路径扫描(ext4)

大设备只扫描指定目录子树(scan.start path),子树内删除件照常恢复。其它文件系统明确拒绝,而不是静默改全扫。

引擎矩阵

六种文件系统,一条只读通路

只要设备在系统中表现为块设备,就走同一条只读通路。每种引擎都有合成夹具、外部 oracle 或内核 e2e 门禁。

文件系统典型介质核心能力状态
FAT12 / 16 / 32U 盘、SD / TF 卡目录项 SFN + LFN、链读、连续回退可用
exFAT大容量 U 盘、相机卡目录项集还原校验、NoFatChain 连续读可用
NTFS移动硬盘、Windows 盘$MFT 全解析、未使用记录、$Bitmap 分级可用
ext4Linux 磁盘、Android 内部存储jbd2 日志覆盖层、限定路径子树可用
f2fsAndroid 内部存储解析、删除恢复、恢复率门禁可用
APFSmacOS 磁盘对象头 / omap / B 树、快照历史视图可用;真机链待验证

界面与交付

四页界面,一条导出安全链

四页图形界面

设备 / 从文件夹恢复 → 扫描 → 结果 → 预览 → 恢复导出。分页、过滤、质量徽标、多选与逐件清单。

导出安全链

独立降权子进程;目标盘三重校验(异设备 / 已存在 / 余量);不覆盖、不删除目标目录既有文件;符号链接写穿直接拒绝。

中 / 英双语

跟随系统或手动切换,即时生效。契约文案三处同源,商店描述与应用内《能力说明》同句同版。

许可与专业版

按需签发,按证执行

试用与许可证

  • 试用:20 件 / 1 GiB;桌面版另有 7 天 ∧ 3 次导出会话的试用锚定
  • 许可证可按有效期、导出次数、导出数据量分别签发,任意一项用尽即拒绝导出
  • 一证一机:首激活绑定本机物理网卡 MAC,读不到 MAC 即拒绝激活(fail-closed)
  • 激活联网校时一次,与北京时间偏差超过 10 分钟即拒绝
  • 授权页「校验码」一机一码:本机生成、零出站、零落盘,用于购买或换机重签

M5 专业版

  • 磁盘镜像:制作、伴生清单、校验、写回,两阶段提交 + 一次性令牌 + 五道闸
  • 扇区编辑器:读 / 写 / 撤销栈,写前必落快照,落不下即拒写
  • 批量工单:串行执行器、杀 daemon 续跑、冲突拒绝而非排队
  • xd-cli:直链引擎的命令行薄壳,与 GUI 同一套两阶段与审计纪律
  • 写能力只存在于独立二进制 xd-writer,daemon / xd-cli 零写符号

移动线

iPhone 备份解析已落地

导入 iTunes / Finder 本地备份后解析备份结构,按类型浏览、预览、导出其中的条目。加密备份的 keybag / PBKDF2 / RFC 3394 / AES-256-CBC 解密链在内核侧打通,密码仅内存、绝不落盘。

如实边界:备份中被删除的内容不在承诺范围(删除发生在备份之后 ⇒ 不在备份里);当前验证面为合成备份样本,真机备份待验证。Android root 块设备扫描仅落骨架,当前构建中为「未接通」占位。

ssd 功能设计图:设备与介质、扫描引擎、预览与结果、恢复导出与许可、专业版
功能设计总览 · M0–M5

架构

UI 与引擎彻底分离

Flutter UI 只做状态机与展示;桌面引擎跑在独立的特权 daemon 进程里,通过 stdio 行式 JSON-RPC 通信。UI 崩溃或 daemon 崩溃互不拖垮。

ssd 架构设计图:Flutter UI、CoreClient、daemon、xd-core、xd-device、专业版与移动端
架构设计 · 契约 v1.19 / 135 golden

契约冻结

proto/v1 是唯一事实源;Rust 与 Dart 两侧对同一组 golden 做解码 + 编码双向断言,改契约必须三处同步。

只读铁律

BlockDevice 没有任何写接口。恢复路径不可达写能力,由写面清单结构断言与二进制符号表两条门禁钉死。

进程隔离

daemon / 导出 worker / xd-writer 各自独立进程。pending 请求在 daemon 异常退出时以错误唤醒,UI 可重试。

生命周期与请求周期

两个进程,一条 stdio 管道

ssd 生命周期图:UI 拉起 daemon、握手、请求往返、干净退出
生命周期 · 不留孤儿进程
ssd 请求周期图:UI、CoreClient、daemon 与引擎的请求往返
请求周期 · 逐行 JSON-RPC

功能迭代

从地基到专业版

里程碑按「先只读、再恢复、再产品化、最后专业版」推进。每一条能力都有对应的测试或门禁,不用评审记忆代替可执行断言。

M0 · 地基

v0.1.0

契约、只读设备抽象、端到端握手

  • JSON-RPC 信封 + 只读镜像后端 + stdio daemon + Flutter 骨架
  • 契约 v0 冻结,Rust / Dart 双侧 golden 双向断言

M1 · 首个端到端

v0.2.0 → v0.4.0

FAT / exFAT、雕刻、四页界面、平台收口

  • 扫描编排、文件雕刻、分片预览、导出与取消
  • 三平台提权会话、Windows / macOS 平台层、安装包

M2 · 桌面三平台

v0.5.0

NTFS、ext4、MP4 / PDF 雕刻

  • NTFS $MFT 全解析与 $Bitmap 分级;ext4 jbd2 日志覆盖层
  • Windows / macOS / Linux 三平台安装包与冒烟

M3 / M5 · 产品化与专业版

v0.6.0

许可、更新、发版管道;写回引擎与 CLI

  • 离线签名许可证、试用额度、三联网点
  • xd-writer 写面隔离、镜像、扇区编辑、批量工单、xd-cli
  • f2fs 引擎与 APFS 快照面

品牌换代与本机恢复

v0.7.0

xiaodun → ssd;从文件夹恢复;英文界面

  • 全平台安装标识与系统路径统一为 ssd
  • 新增 dir: 源与中文 / English 双语界面

数据安全修复

v0.8.0

限定路径扫描 + 三处安全级修复

  • 导出不再误删既有文件;拒绝符号链接写穿;重启续跑不再丢范围参数
  • 导出保留目录源子目录结构

许可体系升级

v0.9.0

按时间 / 次数 / 大小签发,一证一机

  • 激活联网校时;读不到 MAC 即拒绝激活
  • 签发工具与配额字段落地

移动线

v0.10.0

iPhone 备份导入解析

  • Manifest.db 解析、加密备份内核、端内导入 / 预览 / 导出
  • Android 构建面硬化;root 档仍未接通

试用锚定与交付加固

v0.11.0

7 天 ∧ 3 次会话;扫描失败原因上屏

  • 首启联网取时锚定;SSHSIG 校验和签名随包
  • 路径校验统一要求绝对路径;Windows 10/11 支持面明确

v1.0 系列

v1.0.0 → v1.0.3

校验码一机一码、全线更名、关于页修正、deb 一体化

  • 授权页校验码:本机生成、零出站、零落盘;每版一钥
  • v1.0.1 全线更名 ssd;v1.0.2 修复关于页版本注入
  • v1.0.3 deb 补装桌面应用,dpkg 装完即得 GUI

能力边界

哪些事 ssd 做不到

以下是软件层面无解或当前未验证的部分。把它们写清楚,比承诺「什么都能恢复」更有用。

软件层面无解:介质物理损坏(控制器故障、掉固件);硬件加密盘;TRIM 已执行的 SSD / 卡;覆盖写入过多。发现数据丢失后请立即停止写入该介质。

当前未验证:真 U 盘 / 相机卡全链路、真 UAC / polkit / FDA 授权框、Windows / macOS 真机路径、APFS 真机裸设备与 Apple 正品快照生产链、Android root 真机链、真 iPhone 备份。

Android 说明:ssd 不提供 root 功能,也不修改系统。Android root 块设备恢复当前为「未接通」占位;非 root 源未实装。Android 10+(FBE)设备已删除文件的内容通常无法恢复。

小盾:讨好

看完功能,去把它跑起来