Skip to content

Rewind64 v0.2.6 (Linux x86-64 experimental)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 03:16
a7c05a5

Rewind64 v0.2.6 — experimental Linux x86-64 pre-release

Explore execution. Trace every instruction. Understand the past.

This version expands Rewind64's native Assembly interactive debugger with bounded forward instruction batches. It still supports one explicitly launched Linux x86-64 target. It is not a reverse debugger, record/replay system or process attachment tool.

New: step N and s N

At a stopped interactive prompt:

rewind64> step 4
After step: ... 
Register changes: ...
...
rewind64> status
Session status: pid=... steps=4 pending_signal=0
rewind64> s 16
...```

- Specify a strict decimal integer from **1–16**. The original `step` and `s` commands still request **one** instruction.
- Each successfully completed instruction receives a fresh CPU register snapshot and register-change report; `--changes-only` keeps its concise display behavior.
- Invalid counts (`0`, `17`, leading zeros, signs, extra arguments or trailing spaces) print a usage hint **without resuming the target**.
- A verified application signal stop **stops the batch immediately**, preserves the pending signal for explicit operator action, and cancels remaining steps.
- Ptrace exec/exit events also cancel a batch, with existing lifecycle handling continuing as before.

## Validation

**131 native Assembly fixture/Bash integration tests** passed on Ubuntu 22.04 and Ubuntu 24.04. The new 14 cases verify minimum and maximum counts, aliases, sequential batch operations, malformed input, SIGILL/SIGSEGV/SIGTRAP interruption, signal forwarding, early exit, concise output, memory/code inspection coexistence and EOF without newline. Build and tests require NASM, Linux x86-64/glibc, Make, Bash and coreutils; **Python is not used**.

## Usage

```sh
./rewind64 run --interactive /path/to/your/authorized/program
./rewind64 run --interactive --changes-only /path/to/your/authorized/program

Other interactive commands remain available: regs/r, status/i, code/x, stack/k, mem 0xHEX [1..4]/m, continue/c, help, quit/q.

Limitations and security

This is experimental single-tracee Linux x86-64 software with forward execution only, not a sandbox. Only run or inspect binaries you own or are authorized to debug. Trace memory/register output can include sensitive information. Linux ptrace permissions and host security policies still apply; Rewind64 does not bypass them.

No Windows/macOS native backends, thread/fork following, arbitrary process attachment, breakpoints, source-level decoding, trace recording, historical state navigation, reverse execution or deterministic replay are implemented.

License: Boost Software License 1.0. Source: https://github.com/sanskarIN/Rewind64