qira ./a.out

QIRA is a timeless debugger.

All state is tracked while a program is running, so you can debug in the past.

Install it now.

Linux required, 64-bit Ubuntu recommended.

cd ~/ && wget -qO- https://github.com/BinaryAnalysisPlatform/qira/archive/v1.2.tar.gz | tar zx && cd qira-1.2 && ./install.sh

b *0x8048446

Your breakpoint was hit 5 times, at change 90, 111, 128, 145, and 162.
I drew red lines in the vtimeline for you to signify this.
Would you like to see the memory at those times? Just click.
Or navigate between them with j and k

info registers; x/32wx 0xf6ffee80

Instructions are red. Data is yellow. And registers are colorful.

cat /proc/self/maps

watch *($esp+0x1c)

Reads are dark yellow.

Writes are bright yellow.

The selected change is blue.

IDA Integration

Just install the plugin in ~/qira/ida/bin

qira -s ./a.out

# or if you like long commands
socat tcp-l:4000,reuseaddr,fork exec:"qira ./a.out"