2011-12-21 3 views
0

Я занимаюсь разработкой проприетарного протокола для создания свободного и открытого клиента. Запустив проприетарную клиентскую программу и просмотрев трафик, я до сих пор наметил большую часть протокола. Аутентификация, однако, зашифрована с помощью SSL. Это моя следующая цель.Поиск и замена SSL-сертификата в памяти во время выполнения

Я знаю, что общий путь вперед - это маршрут всего трафика через прокси-сервер под моим контролем, в основном выполняющий человека в средней атаке. По этой причине мне нужна соответствующая программа, чтобы принять мой самоподписанный сертификат SSL. Вот где я рискую на неизвестную территорию, хотя: Программа написана в Adobe Flash и использует время выполнения AIR. Мне не удалось найти SSL-отпечаток в файлах программ, и даже если бы я мог это сделать, я ничего не знаю о Flash и, вероятно, что-то испортил бы при бинарном исправлении программы. Таким образом, я остаюсь с возможностью изменения памяти во время выполнения. Сбрасывание памяти программы подтверждает наличие имени органа подписи в нескольких местах.

Кто-нибудь знает о методе автоматического поиска всего, что похоже на сертификат SSL в памяти? У кого-нибудь есть какие-то советы в целом для меня?

Я использую Linux, поэтому до сих пор я запускал программу под Wine и использовал GDB, а также проверял/proc/n/mem, но также приветствуются советы по Windows.

ответ

1

Проверка сертификатов на стороне сервера обычно делается не путем сравнения двоичных файлов сертификатов (которые вы можете заменить), а путем комплексного анализа представленного сертификата. Следовательно, самый простой подход заключается в том, чтобы найти место, где будет сделан окончательный вердикт о действительности сертификата (скорее всего, он будет выполняться во время выполнения AIR, а не в скрипте) и исправить это место.

Смежные вопросы