From 8809d89e695cdd03ad6b5f6c53dbd1a4a5473eab Mon Sep 17 00:00:00 2001 From: Kieran Klukas Date: Wed, 25 Feb 2026 19:55:25 -0500 Subject: [PATCH] docs: add demo gif --- README.md | 2 ++ demo.tape | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 demo.tape diff --git a/README.md b/README.md index 5f7eba7..a8874ec 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # rust-ectf-tools +![vhs gif](https://vhs.charm.sh/vhs-27M7tCPh4cNTI2EM5Z0yLi.gif) + Drop-in replacement for MITRE's `uvx ectf` CLI, rewritten in Rust with reliable serial I/O. Uses raw termios instead of pyserial to avoid macOS CDC-ACM data corruption bugs. ## Usage diff --git a/demo.tape b/demo.tape new file mode 100644 index 0000000..4236af7 --- /dev/null +++ b/demo.tape @@ -0,0 +1,73 @@ +# VHS Demo — rust-ectf-tools +# Run: vhs demo.tape + +Output demo.gif + +Set Shell zsh +Set FontSize 15 +Set Padding 20 +Set Width 900 +Set Height 520 +Set Theme "Catppuccin Mocha" +Set TypingSpeed 40ms +Set CursorBlink false + +# --- Build --- + +Type "cargo build --release 2>&1 | tail -1" +Enter +Sleep 3s + +# --- Alias for cleaner demo --- + +Hide +Type "alias ectf-tools=./target/release/ectf-tools" +Enter +Sleep 500ms +Show + +# --- Main help --- + +Type "ectf-tools --help" +Enter +Sleep 3s + +# --- HSM filesystem tools --- + +Type "ectf-tools tools --help" +Enter +Sleep 3s + +# --- Hardware bootloader tools --- + +Type "ectf-tools hw --help" +Enter +Sleep 3s + +# --- Create a test file --- + +Type "echo 'hello from rust-ectf-tools!' > test.bin" +Enter +Sleep 500ms + +# --- Write file to the HSM, pipe through less --- + +Type "ectf-tools tools /dev/cu.usbmodemM43210021 write 1a2b3c 1 0x4321 test.bin -vv 2>&1 | less -R" +Enter +Sleep 3s +Down 3 +Sleep 1s +Down 3 +Sleep 1s +Down 3 +Sleep 2s +Type "q" +Sleep 500ms + +# --- List files on a connected HSM --- + +Type "ectf-tools tools /dev/cu.usbmodemM43210021 list 1a2b3c" +Enter +Sleep 5s + +Sleep 2s