This is the CPU Adventure 2 task from the Dragon CTF 2019.
The task is about reverse engineering and pwning code for a custom CPU architecture, based on a balanced ternary system.
If you want to solve it the intended way, you can look at the following files:
emu
*.nb
You're supposed to pwn the game running on a remote server. To set up your own server, do the following:
socat tcp4-listen:1337,fork,reuseaddr exec:./emu,pty,setsid,setpgid,ctty,stderr,rawer
To connect to it and play the game:
socat tcp4-connect:127.0.0.1:1337 fd:0,rawer
The author's solution is in the solution
directory.
There are three stages in this challenge, with the flags in flag1.txt
, flag2.txt
,
and flag3.txt
. The original task decriptions from the CTF are:
It turns out that my grandfather has built more than one strange computer.
This is the first level of the task. The flag is in flag1.txt.
Are you tired of binary exploitation? Try non-binary exploitation!
This is the second level of the task. The flag is in flag2.txt.
Strange game. The only winning move is to pwn the engine.
This is the final level of the task. The flag is in flag3.txt.