Skip to content

Latest commit

 

History

History
16 lines (9 loc) · 2.18 KB

patch.md

File metadata and controls

16 lines (9 loc) · 2.18 KB

Модификация официального клиента

Вернуться к оглавлению

Caution

Этот раздел содержит информацию про устройство программы, но не сервера. Раздел ещё не готов

Клиент для ПК версии 4.10

Патч можно выполнить путём стандартного перехвата API вызовов через дебаггер или DLL библиотеку.

В нашем случае Агент подключается через WinSocks2 (WS2_32.dll). С помощью программы API Monitor можно увидеть, что для подключения к серверам вызываются функции inet_addr и gethostbyname. В случае с нашим патчем можно обойтись лишь перехватом функции gethostbyname, так как она используется и для подключения к MRIM по порту 2042/2041, и для подтягивания аватарок (образов).

Если первый и единственный аргумент функции gethostbyname равен mrim.mail.ru или obraz.foto.mail.ru, то его нужно заменить на свои домены.

Однако при отправке запроса на сервер с аватарками (образами) в HEAD и GET всё ещё упоминается хост obraz.foto.mail.ru, т.к. путь там указывается прямо вместе с протоколом и доменом. Необходимо либо изменить настройки реверс-прокси (в нашем случае будет использоваться nginx), и тогда не придётся модифицировать запрос к серверу фото; либо в запросах к серверу заменить домен на свой. Запрос к серверу образов можно модифицировать через тот же WinSocks2 - конркетно, в функции send.