Repository navigation
Rewind64 v0.2.9 (Linux x86-64 experimental)
Pre-releaseRewind64 v0.2.9 — experimental Linux x86-64 pre-release
Explore execution. Trace every instruction. Understand the past.
This milestone upgrades the bounded interactive RIP history to show a verified cumulative instruction-step number for each sampled address and optionally the last N observations. The debugger remains experimental and forward-only.
New: step-numbered history [N] / h [N]
rewind64> step 3
...
rewind64> history 2
RIP history [0]: 0x0000000000401002 step=2
RIP history [1]: 0x0000000000401003 step=3
rewind64> h 1
RIP history [0]: 0x0000000000401003 step=3
historyandhwith no count still print all available samples (at most 16) in chronological order.history Nandh Naccept a strict decimal N from 1 to 16, selecting the most recent N entries, oldest first. If the session has fewer than N available, all current entries are displayed.- Each entry now has the cumulative verified instruction-step number. The initial post-exec stop is
step=0; subsequent successful steps are labeledstep=1,step=2, etc. - Count parsing rejects zero, 17+, signs, leading zeros, extra whitespace and trailing arguments without resuming the stopped tracee.
- The debugger stores at most 16 pairs of RIP and step number in bounded in-memory rings, evicting old samples together on wraparound. Read-only commands, invalid input and application signal-delivery stops are not recorded as successful steps.
Tests and packaging
The expanded Bash/native NASM integration suite has 164 regression checks on Linux x86-64, including 12 new scenarios for count parsing, newest-N filtering, step-label consistency across ring wraps, signal handling, code inspection and EOF. CI runs on Ubuntu 22.04 and 24.04; the pre-release workflow repeats native build and tests before packaging the .tar.gz Linux x86-64 executable and SHA256SUMS.txt. No Python is required.
Running Rewind64
./rewind64 run --interactive /path/to/your/authorized/program
./rewind64 run --interactive --changes-only /path/to/your/authorized/programOther interactive commands include step [1..16]/s, regs/r, status/i, code/x, bytes [1..8]/b, stack/k, mem 0xHEX [1..4]/m, continue/c, help and quit/q.
Important limits
History records only sampled instruction pointer addresses and step numbers. It is not a full CPU or memory state trace and cannot rewind execution. There is no breakpoint engine, process attachment, Windows/macOS backend, multi-thread tracing, execution recording, deterministic replay, or stable release. Linux ptrace permissions apply. Debug only targets you own or are authorized to inspect. Addresses and memory output may contain sensitive information.
License: Boost Software License 1.0. Source: https://github.com/sanskarIN/Rewind64