# Validation У нас есть программа, но у нас нет учетной записи, и мы не может пройти проверку. Будет здорово, если вы справитесь с этим! --- We have the program, but we don’t have an account, and we can’t pass the check. It would be great if you could handle it! ## Краткое описание уязвимости Необходимо понять как взаимодействуют исполняемые файлы через технологию Pipe и разобраться с алгоритмом шифрования # Решение 1. Программа просит ввести логин и пароль. При первом запуске бинарного файла в папке с exe получаем файл inside.bin, рис 1. ![](https://i.imgur.com/3Gf5b5j.png) 2. Файл inside.bin сжат, распаковываем его и реверсим. 3. Понимаем, что программы (клиент и сервер) общаются через Pipe, рис 2. ![](https://i.imgur.com/CvbMYJs.png) 4. Пишем свой отправитель учетных данных в pipe для удобной отладки и реверса внутреннего бинарного файла 5. Изучив алгоритм валидации - шифр rc4 на вшитой строке во внутренний бинарный файл , находим первую часть флага 6. Первая чать флага: `BSC{H1dden_p1pe@yande` Понимаем, что тут мы получили почту: `H1dden_p1pe@yandex.ru` 7. Изучив алгоритм шифрования второй части флага - тот же rc4 только завязанный теперь на почте. 8. Вторая часть флага отправляется в несуществующий новый pipe, рис 3. Дальше 2 пути: Пишем программу, которая ловит вторую часть флага через pipe. Или статически повторяем алгоритм преобразования второй части флага. Вторая часть: `x.ru_Do_y0u_l1ke_p1p3?}` ![](https://i.imgur.com/ybCjLGa.png) 8. Соединяем 2 части влага воедино FLAG: `BSC{H1dden_p1pe@yandex.ru_Do_y0u_l1ke_p1p3?}`