Skip to content

Commit e82e863

Browse files
Merge pull request #128 from wcampbell0x2a/add-vhs-docs
2 parents 1f18b37 + 0e45d4d commit e82e863

File tree

7 files changed

+103
-8
lines changed

7 files changed

+103
-8
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
[<img alt="crates.io" src="https://img.shields.io/crates/v/heretek.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/heretek)
44
[<img alt="build status" src="https://img.shields.io/github/actions/workflow/status/wcampbell0x2a/heretek/main.yml?branch=master&style=for-the-badge" height="20">](https://github.com/wcampbell0x2a/heretek/actions?query=branch%3Amaster)
55

6-
GDB TUI Dashboard. Connect remotely with gdb when you don't have a working `gdbserver`, and show tui inspired by `gef`.
6+
GDB TUI Dashboard inspired by `gef`, designed to seamlessly connect to remote targets even without a functioning `gdbserver`.
77

8-
* **No gdbserver requirements**: Many vendors ship invalid `gdbserver` binaries, this works on remote targets with just `gdb`, `nc`, `cat`, and `mkfifo`.
9-
* **No python requirements**: Many vendors ship `gdb` without python support.
8+
* **No python requirements**: Many vendors ship `gdb` without python support, we ship a single statically-linked musl binary.
109
* **Architecture agnostic**: `heretek` only uses information given by `gdb`, no extra code required!
10+
* **No gdbserver requirements**: Many vendors ship invalid `gdbserver` binaries, this works on remote targets with just `gdb`, `nc`, `cat`, and `mkfifo`. No more wrestling with invalid or missing `gdbserver` binaries.
11+
12+
* See [features](./docs/features.md) for `heretek` demos.
13+
* See [commands](./docs/commands.md) for internal `heretek` commands.
1114

1215
![screenshot](images/screenshot.png)
1316

@@ -54,7 +57,4 @@ Options:
5457
Print version
5558
```
5659

57-
## Info
58-
See [commands](./docs/commands.md) for internal `heretek` commands.
59-
6060
> "To every problem, a solution lies in the application of tech-lore" - Ferrarch Asklepian, Warhammer 40,000: Mechanicus

RELEASE.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Update screenshot
2-
```
3-
$ cargo r --profile=dist -- --cmds "test-sources/test.source"
2+
```sh
3+
$ cargo r --profile=dist -- --cmds test-sources/test.source
44
$ wmctrl -lx
55
$ import -window {id} images/screenshot.png
66
```
7+
8+
# Update vhs
9+
```sh
10+
$ vhs docs/vhs/main.tape
11+
$ vhs docs/vhs/hexdump.tape
12+
```

docs/features.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Main
2+
The main display shows the Registers, Stack, Instructions, and Output that is current to the the gdb session.
3+
Those sections can be expanded by selecting the function keys shown at the top.
4+
5+
The following example shows an operator stepping through a function using `si`.
6+
![main](./main_section.gif)
7+
8+
# Hexdump
9+
The hexdump screen is an easy way to see the color coded contents of the Heap, Stack, or another mapping or offset.
10+
Each register is shown if the value matches the address being dumped.
11+
12+
The following example shows an operator dumping the contents of the Heap and searching.
13+
![hexdump](./hexdump_section.gif)

docs/hexdump_section.gif

745 KB
Loading

docs/main_section.gif

493 KB
Loading

docs/vhs/hexdump.tape

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Output docs/hexdump_section.gif
2+
Set Theme ayu
3+
Set Padding 2
4+
Set FontSize 10
5+
Set Width 1000
6+
Set Height 800
7+
8+
Hide
9+
Type "cargo r --release -- --cmds test-sources/test.source"
10+
Enter
11+
12+
# Pause for dramatic effect...
13+
Tab
14+
Tab
15+
Tab
16+
Tab
17+
Tab
18+
Tab
19+
Show
20+
Type "H"
21+
Sleep 1s
22+
Type "J"
23+
Sleep 2s
24+
Type "J"
25+
Sleep 1s
26+
Type "J"
27+
Sleep 1s
28+
Type "J"
29+
Sleep 1s
30+
Type "J"
31+
Sleep 1s
32+
Type "J"
33+
Sleep 1s
34+
Type "J"
35+
Sleep 1s

docs/vhs/main.tape

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
Output docs/main_section.gif
2+
Set Theme ayu
3+
Set Padding 2
4+
Set FontSize 10
5+
Set Width 1000
6+
Set Height 800
7+
8+
Hide
9+
Type "cargo r --release -- --cmds test-sources/test.source"
10+
Enter
11+
Sleep 5s
12+
13+
Show
14+
Type "i"
15+
Type "si"
16+
Enter
17+
Sleep 2s
18+
19+
Type "si"
20+
Enter
21+
Sleep 2s
22+
23+
Type "si"
24+
Enter
25+
Sleep 2s
26+
27+
Type "si"
28+
Enter
29+
Sleep 2s
30+
31+
Type "si"
32+
Enter
33+
Sleep 2s
34+
35+
Type "si"
36+
Enter
37+
Sleep 2s
38+
39+
Type "si"
40+
Enter
41+
Sleep 2s

0 commit comments

Comments
 (0)