Repository navigation
Rewind64 v0.2.5 (Linux x86-64 experimental)
Pre-releaseRewind64 v0.2.5 — experimental Linux x86-64 prerelease
Explore execution. Trace every instruction. Understand the past.
This build adds bounded, read-only multi-word memory inspection and strengthens the interactive command parser. Rewind64 remains a forward-only experimental Linux x86-64 debugger for a single explicitly launched target. It does not implement reverse execution, process recording or deterministic replay.
New: bounded memory reads
At a stopped interactive prompt, use mem 0xHEX [COUNT] or m 0xHEX [COUNT].
rewind64> mem 0x402000 2
Memory word at 0x0000000000402000: 0x1122334455667788
Memory word at 0x0000000000402008: 0xffffffffffffffff
COUNTis optional; default is 1 to preserve v0.2.4 behavior.- Explicit
COUNTmust be one decimal digit in 1–4, limiting a command to 8–32 bytes. Spaces are exact; trailing words or junk are rejected. - Addresses require
0xor0Xand 1–16 hex digits. The parser rejects malformed/overflowing text and preflights address arithmetic to prohibit 64-bit wrap before reading. - Each word uses
PTRACE_PEEKDATA, clearing/checking libcerrnoso an all-ones value is not mistaken for an error. A failed read is nonfatal to the debugger session and does not forward a pending signal. - Values are read-only; no memory writing, process attachment, unbounded memory dumps or pointer following.
Interactive command hardening
The bounded 64-byte command input now discards a whole oversized line through newline or EOF. Its trailing bytes are not interpreted as another debugger command. Scripts with a command fragment ending in continue therefore cannot accidentally resume the stopped target.
Validation
- 117 Bash and native NASM integration cases passed on Ubuntu 22.04 and Ubuntu 24.04 before release, including the eight new memory-range and input-boundary scenarios.
- No Python executable, test harness, or dependency was added.
- The release workflow rebuilds and runs the tests before packaging a native Linux x86-64 tarball and SHA-256 checksums.
Usage
./rewind64 run --interactive /path/to/your/authorized/programPrompt commands: step/s, regs/r, status/i, code/x, stack/k, mem/m, continue/c, help, quit/q.
Important limitations
This project is not a sandbox. Run or inspect only executables you own or have permission to debug. Trace output may expose sensitive data. Linux security settings and ptrace permissions apply; do not bypass them. Windows/macOS, multi-process debugging, breakpoints, disassembly, historical state capture, reverse stepping and replay are not implemented.
License: Boost Software License 1.0. Source: https://github.com/sanskarIN/Rewind64