English [sCTF 2016] [CODE 130 – I Can’t Get No Satisfaction] Write Up


I’ve got another task for you involving my little language, Prop!

It consists of the following expressions (denoted e):

  • Boolean constants, written true and false.
  • Boolean variables, written as any alphabetical string.
  • Implies, written e -> e.
  • Equivalence, written e <-> e.
  • Negation, written !e.
  • And, written e && e.
  • Or, written e || e.

You can also parenthesize any expressions or subexpressions (so, you can write (a || b) && c). Here’s another example program:

(a || b) && c && d && (!d || b) || (b -> c) && (d <-> a)

This time, I’ve determined that the attached program is satisfiable, but I want to know the actual values that make this program satisfiable. Can you find me a satisfying model, please? When you’ve found one, submit a GET request to our server. Any missing keys are considered false.

Here’s an example request:


This request would treat a and b as true and c and the rest of the variables as false. Thus, it’s only necessary to assign the true keys to the value true.



Continue reading [sCTF 2016] [CODE 130 – I Can’t Get No Satisfaction] Write Up

English [sCTF 2016] [CODE 100 – Deblink] Write Up


You have a device that is nearly completely bricked, but it seems to progress to a stage in boot where you can run your own code, and it conveniently has 8 LEDs. You write a small binary to read the bootlog and emit it, compressed, byte-by-byte on the LEDs. With a phone camera and a shaky hand, you record the LEDs.

Decode the video.

Continue reading [sCTF 2016] [CODE 100 – Deblink] Write Up