Description
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] print(Soup) if not souP('isdigit')(Soup)(): sOUp("that's not a number lol") return 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) else: sOUp('oh noes rip u') if __name__ == '__main__': SOUP()
Continue reading [EasyCTF 2018] [Reverse 150 – Soupstitution Cipher] Write Up