GitHub - o7-machinehum/phantomdrive: Seemingly normal USB drive with a hidden security feature · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
o7-machinehum
phantomdrive
Public
Notifications<br>You must be signed in to change notification settings
Fork<br>10
Star<br>265
master
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>44 Commits<br>44 Commits
ee
ee
img
img
mech
mech
ref
ref
scripts
scripts
src
src
test
test
wch-ch56x-bsp @ 1bc5e3a
wch-ch56x-bsp @ 1bc5e3a
wch-ch56x-isp @ ff23baa
wch-ch56x-isp @ ff23baa
.clangd
.clangd
.gitignore
.gitignore
.gitmodules
.gitmodules
Makefile
Makefile
readme.md
readme.md
View all files
Repository files navigation
Phantomdrive is open source encrypted USB drive with a stealth mechanism to hide its second partition. To decrypt it you must create a file called unlock.txt containing your password in the format password:addpasswordhere, this is used to derive a AES-256 key. The drive automatically unmounts itself, remounts the remaining disk and encrypts and decrypts in place. It uses CH569W SoC, which has USB3, SDIO and an AES hardware block. It is programmable over USB using the wch-ch56x-isp library.
|-- ee # Hardware files<br>|-- Makefile<br>|-- readme.md # This files<br>|-- test # Test the cypto components<br>|-- ref # Reference docs<br>|-- src # Firmware<br>|-- tests # Verification scripts<br>|-- wch-ch56x-bsp # Board support package<br>`-- wch-ch56x-isp # Programming software
Getting Started
git submodule update --init --recursive --checkout --force<br>cd wch-ch56x-isp<br>make # Build the ISP tool
Install the toolchain
The HydraUSB3 project requires a patched GCC that supports the<br>WCH-Interrupt-fast interrupt attribute. Download the xpack GCC from the HydraUSB3 project:
cd /tmp<br>curl -sL -o riscv-gcc-xpack.tar.gz \<br>"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"<br>tar xzf riscv-gcc-xpack.tar.gz<br>sudo cp -r xpack-riscv-none-elf-gcc-12.2.0-1/* /usr/local/
Debugging
make UART=1 # Enable UART<br>make UART=1 DEBUG_USB=1 # Enable USB Debugging
Build and Flashing the project
make<br># Remove flash drive<br># While holding boot button, plug in<br>./wch-ch56x-isp/wch-ch56x-isp -d=off # This is needed just one to disable debug mode<br>make flash
Unlocking Drive
/mnt/unlock.txt">sudo echo "password:YourPasswordHere13245" > /mnt/unlock.txt
Releasing the hardware
./scripts/release_hardware.sh
About
Seemingly normal USB drive with a hidden security feature
Resources
Readme
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
265<br>stars
Watchers
watching
Forks
10<br>forks
Report repository
Releases
No releases published
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
79.0%
Python<br>12.2%
Makefile<br>4.3%
Linker Script<br>3.3%
Shell<br>1.2%
You can’t perform that action at this time.