Official ReRop Discussion

Official discussion thread for ReRop. Please do not post any spoilers or big hints.

I know what to do and understood the binary, but I don’t know how to proceed! I tried several ways (gdb, scripting with pwntools…) but without results. Can someone help me?

You could try to use gdb, but you’ll probably need to write your own custom disassembler/tracer, which should print the trace of the code blocks/instructions being executed. That is the only hard part, after that it is a walk in the park.
You could try to use unicorn-engine & capstone to automate this process, but I didnt try that

I have tried to write my own tracer (using ptrace syscall) but with no results! I really can’t figure out how to solve this challenge. Any hint? I’m completely stuck.

Then you’re probably doing it incorrectly.
This would be the last hint possible without giving you the actual solution

Try to trace blocks of instructions that are being executed, each block will represent a custom instruction of this VM,
After you have all the instructions, you could try to deduce them one-by-one to understand what the program is doing,
Finally you can write a solver for that based on the program flow

1 Like

Seemed more like easy challenge, but a nice idea.