English [EasyCTF 2018] [Reverse 150 – Soupstitution Cipher] Write Up


For this challenge, we need to reverse a briefly obfuscated python script to find an input value that will validate some conditions to get the flag.

#!/usr/bin/env python3

from binascii import unhexlify as sOup
from operator import attrgetter as souP

ME_FLAGE = 'censored'

SoUp = input
soUP = hex
sOUp = print
sOuP = ord
SOuP = open

def SoUP(sOUP):
 soup = 0
 while sOUP != 0:
  soup = (soup * 10) + (sOUP % 10)
  sOUP //= 10
 return soup

def SOup(sOUP):
 soup = 0
 for soUp in sOUP:
  soup *= 10
  soup += sOuP(soUp) - sOuP('0')
 return soup

def SOUP():
 Soup = SoUp()[:7]
 if not souP('isdigit')(Soup)():
  sOUp("that's not a number lol")

 soup = SoUP(SOup(Soup))
 SouP = souP('zfill')(soUP(soup)[2:])(8)[-8:]
 if sOup(SouP) == souP('encode')('s0up')():
  sOUp("oh yay it's a flag!", ME_FLAGE)
  sOUp('oh noes rip u')

if __name__ == '__main__':


Continue reading [EasyCTF 2018] [Reverse 150 – Soupstitution Cipher] Write Up


Hello everyone,

Last year, we were on final for the Defcamp. We finished in the bottom of the ranking (thanks to… actually to the night before, which had been a bit rude ^^).
But this year, we decided to be better (even if we again tried a lot of bars). And it paid! We were constantly moving from place #5 to #6, and ten minutes before the end, one of us flagged a challenge, and secured the 5th place!

Even if it’s not the first time we get into the Top5, we were in front of famous teams, and it was a real challenge to deal with it. But, hey, fighting DCUA, P4, and others was really fun after all! 🙂

We would like to thanks the organizers of the CTF, and of the Defcamp for their awesome work, and to say them : “See you next year ;)”

Here are the ranks :

defcamp ranking