Skip to content

Latest commit

 

History

History

fatBoy

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

fatBoy

Category

Reverse

Description

You'll never find my flag.

Format : Hero{flag}
Author : SoEasY

Files

  • fatBoy

Write up

We can notice that this file is a universal mach-o, which means that it can be runned on multiple architectures. To do this, a version per architecture is stored in the binary and the version corresponding of your architecture will be launched at runtime.

The encryption algorithm is a simple Vigenere with a ROT1 cipher. The key unxored at the begining of the encryption function.

After solving the challenge in x86_64, we find the flag "Hero{IMSORRYBUTTHISISNOTTHEFLAG}" with the key "BESTRONG", and we have to reverse the ARM version to find the good flag which is "Hero{WTFISTHISFUCKINGFILEFORMAT}" with the key "FATMACHO".

We first need to apply a minus one on the encrypted result expected and then decode it as vinegere with the unxoreed key.

Python 3.9.2 (default, Mar 15 2021, 17:37:51) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> str = "CUZVTWPXYGOPLLVVLJFRGRZBGU"
>>> new = ""
>>> for i in str:
...     new += chr(ord(i)-1)
>>> new
'BTYUSVOWXFNOKKUUKIEQFQYAFT'

image

Flag

Hero{WTFISTHISFUCKINGFILEFORMAT}