ASMREPL works by writing a buffer full of int3 instructions and then letting the other process run. When you write stuff in to the repl, it writes that after the int3 instruction that paused the process. The reason is because I haven't figured out how to adjust RIP in the child process. It means you end up with code that looks like:
ASMREPL works by writing a buffer full of
int3
instructions and then letting the other process run. When you write stuff in to the repl, it writes that after theint3
instruction that paused the process. The reason is because I haven't figured out how to adjust RIP in the child process. It means you end up with code that looks like:I'm not sure if you can even adjust RIP on macOS. I'd like to be able to support loops, but with the current setup, loops will pause at every
int3
.I'd like to either:
int3
instructions withnop
instructionsAdjusting RIP is ideal, but I'm not sure if it's possible.