o7-machinehum/phantomdrive
GitHub: o7-machinehum/phantomdrive
基于 CH569W SoC 的开源硬件级加密U盘,通过密码文件触发隐藏分区的原地加解密与自动卸载,实现数据的物理层隐蔽保护。
Stars: 112 | Forks: 6

Phantomdrive 是一个开源的加密 USB 磁盘,具有隐藏其第二分区的隐蔽机制。要解密它,你必须创建一个名为 `unlock.txt` 的文件,并在其中以 `password:addpasswordhere` 的格式写入你的密码,这用于派生 AES-256 密钥。该磁盘会自动卸载自身,重新挂载剩余磁盘,并进行原地加密和解密。它使用 CH569W SoC,该芯片具有 USB3、SDIO 以及一个 AES 硬件模块。它可以通过 USB 使用 `wch-ch56x-isp` 库进行编程。
```
|-- ee # Hardware files
|-- Makefile
|-- readme.md # This files
|-- test # Test the cypto components
|-- ref # Reference docs
|-- src # Firmware
|-- tests # Verification scripts
|-- wch-ch56x-bsp # Board support package
`-- wch-ch56x-isp # Programming software
```
# 入门指南
```
git submodule update --init --recursive --checkout --force
cd wch-ch56x-isp
make # Build the ISP tool
```
## 安装工具链
HydraUSB3 项目需要打过补丁且支持
`WCH-Interrupt-fast` interrupt 属性的 GCC。从 HydraUSB3 项目下载 xpack GCC:
```
cd /tmp
curl -sL -o riscv-gcc-xpack.tar.gz \
"https://github.com/hydrausb3/riscv-none-elf-gcc-xpack/releases/download/12.2.0-1/xpack-riscv-none-elf-gcc-12.2.0-1-linux-x64.tar.gz"
tar xzf riscv-gcc-xpack.tar.gz
sudo cp -r xpack-riscv-none-elf-gcc-12.2.0-1/* /usr/local/
```
## 调试
```
make UART=1 # Enable UART
make UART=1 DEBUG_USB=1 # Enable USB Debugging
```
## 构建和烧录项目
```
make
# 移除闪存盘
# 按住 boot 按钮的同时,插入
./wch-ch56x-isp/wch-ch56x-isp -d=off # This is needed just one to disable debug mode
make flash
```
## 解锁磁盘
```
sudo echo "password:YourPasswordHere13245" > /mnt/unlock.txt
```
# 发布硬件
```
./scripts/release_hardware.sh
```
标签:AES-256加密, CH569W, HTTP工具, HydraUSB3, meg, RISC-V, SDIO, SoC, USB 3.0, wch-ch56x-isp, 信息安全, 加密U盘, 可编程U盘, 固件开发, 存储加密, 客户端加密, 嵌入式系统, 开源硬件, 数据销毁, 硬件加密, 硬件加密引擎, 硬件安全, 硬件安全模块, 网络安全, 自毁U盘, 隐私保护, 隐藏分区, 隐身分区