# Решение задачи reverse 11-1

## Идея
Проблемная логика вынесена в нативную библиотеку `libnative-lib.so`, которую вызывает приложение (в том числе через `sendTCP123`).

## Где уязвимость
- В библиотеке используются кастомные реализации `memcpy`/`memcmp` с некорректной логикой проверки.
- Из-за этого проверка «секрета» сводится к обратимому преобразованию (XOR), а не к защищенной валидации.
- Ключ и константы для преобразования доступны в коде.

## Эксплуатация
1. Распаковать `vpn.apk` и открыть код в Jadx, затем нативную часть в Ghidra.
2. Найти путь вызова `sendTCP123` и перейти в `libnative-lib.so`.
3. Восстановить алгоритм: после подмены/взятия нужной константы выполняется XOR с ключом `123456`.
4. Применить XOR в обратную сторону к зашитым данным и получить строку флага.

## Флаг
vsosh{funny_memcpy_0v3rwrit3}
