# Handycar writeup by @bigger777 При скачивании файла получаем архив. При распаковке получаем два файла. В одном сишный код, в другом какой-то список команд. Немного покурив код, понимаем, что идет подключение на сервер с ip 194.135.94.122 на порт 1778. Компилим код `gcc main.c -o main` и запускаем `./main`. При подключении вводим рандомный логин и пароль. Далее можно ввести цифру от 1 до 3. В зависимости от цифры отправляется код на брейнфаке. Онлайн компиллятор брейнфака в помощь (https://fatiherikli.github.io/brainfuck-visualizer/). Результат трех команд: ![](https://i.imgur.com/s9tqXkj.png) Видим, что в первой ячейке ASCI код буквы "G", а во второй код цифры "1". Окей... Смотрим файл с апи (в текстовом редакторе он корявый, поэтому Рома скинул пример в нормальном виде https://hackmd.io/@rerand0m/BJdL3OtnH). *Примечание Ромы: Это MarkDown, его можно открывать в специальных редакторах, я не думал, что с этим могут быть проблемы.* Видимо, нам нужен флаг. Поэтому пишим такой брейнфак, который в ячейки записывает ASCI код букв FLAG: ```brainfuck >>++++++++++[<+++++++>-]> ++++++++++[<+++++++>-]< ++++++>>++++++++++[<++++++>-] <+++++>>++++++++++[<+++++++>-]<+<<< ``` Сервер посылает нас нах и просит авторизоваться. В апи сказано как это сделать. Нужно заполнить ячейки так: | 0 | ASCI код "A" | ASCI код "U"| Код любого символа, например "А" (типа логин) | *пустая ячейка* | Код любого символа, например "P" (типа пароль) | |-|-|-|-|-|-| Брейнфак: ``` ++++++++++[<++++++>-]<+++++>>++++++++++[<++++++++>-]<+++++>>++++++++++[<++++++>-]<+++++>>>++++++++++[<++++++++>-]> ``` В сишном коде изменяем первую и вторую команду на наши брейнфаки, перекомпилируем и запускаем. Сначала регаем пользователя, переподключаемся и заходим за него, далее отправляем команду с брейнфаком FLAG. Получаем флаг.