# 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.

2. Файл inside.bin сжат, распаковываем его и реверсим.
3. Понимаем, что программы (клиент и сервер) общаются через Pipe, рис 2.

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?}`

8. Соединяем 2 части влага воедино
FLAG:
`BSC{H1dden_p1pe@yandex.ru_Do_y0u_l1ke_p1p3?}`