CTF Функциональный ад (writeup)

Привет.
Идём дальше.

В архиве 2 файла:
1. набор каких-то данных.
2. прога

Открываем прогу в ghidra
Так как таск называется функциональный ад, смотрим какие есть функции. Видим кучу функций func_**.
functional_hell_1.png


В некоторых функциях просто выводится какое-то число, в некоторых выводится число и буква. Скорее всего это нужно для "расшифровки" файла с числами.

Кодим. Из функций, которые выводят и число и букву делаем словарь.
Python:
with open("data","r") as file:
    data = list(file.read().split(" "))

keys = { 19: 'R',49: '3',17: 'Y',92: 'B',72: 'E',86: 'V',85: '{',75: 'Y',61: 'D',20: 'R',29: '}',84: '_',78: 'T',48: 'C',36: 'S',21: 'A',79: 'A',34: 'O',11: 'T',91: 'A',32: 'N',62: 'D',64: 'G',39: '3',14: '_'}

result = ""
for i in data:
    result += keys[int(i)]

print(result)

Получили флаг
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!