This specific challenge was not actually solved by me during quals. Aegis officially scored and I'm sure others helped out. That said, I like to look at challenges afterwards and identify what I could do to solve it more efficiently next time. What follows is a walk-through on solving this challenge with my frida-util tool.

Description: I forgot admin’s product key…

First off, this challenge was listed as 200pts. I was the 7th to solve it with about 45 minutes left in the contest. Other 200 point challenges had many more solves (for instance Baby ROP was 200pt and had 80+ solves). Unfortunately, I got sucked into this and needed to finish it for my own sanity. That said, it was good challenge, just not realistically 200 points.

This challenge was lovingly called "Program Interactive Tracing as a Symbolic Service" (PITASS). They clearly came up with the acronym first... Regardless, we're given the following four files:

Dockerfile, headerquery, and

The Dockerfile was mostly not useful given we were missing a bunch of it. Headerquery is an elf that we can run and pitass the python script that we get dropped into when we connect.

Mama Trace was an extension of Baby Trace (baby shark theme much?). For this we're given files similar to baby trace:

Dockerfile, headerquery2,, flagleak and the Dockerfile are effectively the same as before. headerquery2 is basically the original headerquery elf except with our leak removed. With that in mind, time to look at flagleak.

Attention all UTCTF players, asper is in great danger, and he needs YOUR help to reverse engineer this binary and figure out the password. To do this, he needs IDA Pro and a couple of breakpoints. To help him, all he needs is your credit card number, the three numbers on the back, and the expiration month and date. But you gotta be quick so that asper can secure the flag, and achieve the epic victory R O Y A L.

This was a 1200 point (tied for highest) reversing challenge. I'm guessing they over-estimated the difficulty as there were 21 separate solves. Also, given the challenge description, it was meant to be solved via breakpoints. However, I mostly used angr.