Есть приложение на C#, накрыта протектором - редактировать код я не могу
делает https запрос на сервер A, хочу его перенаправить на сервер Б
НО - без использования SSL прокси и редактирования hosts
Как это можно реализовать самому перехват запроса https и редирект, без использования сторонних(чужих) программ?
Сторонними программами я могу это делать но хочу именно сам это делать
Очень просто.
Смотрите сначала дебаггером какую функцию прога использует для подключения (си-шарповые библиотеки - это всего-лишь обёртка, внутри которой будет вызвана какая-то винсокетная api). Затем ту, которую она использует, хукаете в своей DLL. В функции-хуке меняете адрес для подключения.
Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
Очень просто.
Смотрите сначала дебаггером какую функцию прога использует для подключения (си-шарповые библиотеки - это всего-лишь обёртка, внутри которой будет вызвана какая-то винсокетная api). Затем ту, которую она использует, хукаете в своей DLL. В функции-хуке меняете адрес для подключения.
Очень просто.
Смотрите сначала дебаггером какую функцию прога использует для подключения (си-шарповые библиотеки - это всего-лишь обёртка, внутри которой будет вызвана какая-то винсокетная api). Затем ту, которую она использует, хукаете в своей DLL. В функции-хуке меняете адрес для подключения.
Направление понял, однако есть вопрос -
почему мониторинг видит вызов ws2 send
а дебагер в этом же процессе может не находить вызов send?
при этом если ставить бряк на send - в момент вызова он успешно срабатывает
Последний раз редактировалось Dezzmand; 15.07.2022 в 22:28.
Направление понял, однако есть вопрос -
почему мониторинг видит вызов ws2 send
а дебагер в этом же процессе может не находить вызов send?
при этом если ставить бряк на send - в момент вызова он успешно срабатывает
зачем тебе send? тебе же надо перенаправить подключение на другой ип, для этого надо похукать функцию connect из винсоксов и в структуре sockaddr_in для ipv4 или sockaddr_in6 для ipv6 подменить айпишник на нужный и все. Дебаггер может по многим причинам не работать, в том числе из за протектора если используешь программные бряки, попробуй аппаратные брейкпоинты использовать. А вообще что бы разобраться в этом вопросе тебе не мешало бы сначала разобраться в том, как работает мониторинг, какие бывают отладчики и методы отладки и как они работают.
зачем тебе send? тебе же надо перенаправить подключение на другой ип
Общение с сервером происходит по https, и как я понял именно через send
Цитата:
Сообщение от Тигрь
Дебаггер может по многим причинам не работать, в том числе из за протектора
Спасибо
Цитата:
Сообщение от Тигрь
А вообще что бы разобраться в этом вопросе тебе не мешало бы сначала разобраться в том, как работает мониторинг, какие бывают отладчики и методы отладки и как они работают.
Да, но ещё хотелось бы получать практику, а почитать и в процессе можно
Последний раз редактировалось Dezzmand; 16.07.2022 в 04:50.
Общение с сервером происходит по https, и как я понял именно через send
Спасибо
Да, но ещё хотелось бы получать практику, а почитать и в процессе можно
Так причем тут общение с сервером если у тебя в первом посте стоит задача перенаправить подключение на другой сервер, соединение с сервером реализуется функцией connect именно в ней передается айпишник, дальше уже айпишник нигде не фигурирует. Через Send осуществляется непосредственная отправка пакетов, но если ты хочешь перехватывать сенд для того что бы отлавливать сами пакеты то в данном случае у тебя ничего не получится, так как у тебя зашифрованный посредством ssl протокол и в функцию send уже передаются зашифрованные пакеты которые зашифрованы и подготовлены к отправке на сервер. Но опять же в первом посте у тебя об этом задачи не стояло, а стояла конкретная задача, на которую я тебе дал конкретный ответ что нужно делать. Так же надо иметь ввиду что в приложении может использоваться WinSock Version 2.0, тогда соответственно функции будут называться WSAConnect, WSASend, WSARecv и так далее.
Цитата:
Сообщение от Dezzmand
Да, но ещё хотелось бы получать практику, а почитать и в процессе можно
Какая может быть практика если у тебя с теорией ноль. Но только если ты из тех практиков обезьян которые без знания теории тыкают палкой везде куда придется, в надежде, что, что-то получится, ну тогда с такой практикой ты далеко не уедешь.
Так причем тут общение с сервером если у тебя в первом посте стоит задача перенаправить подключение на другой сервер, соединение с сервером реализуется функцией connect именно в ней передается айпишник, дальше уже айпишник нигде не фигурирует. Через Send осуществляется непосредственная отправка пакетов, но если ты хочешь перехватывать сенд для того что бы отлавливать сами пакеты то в данном случае у тебя ничего не получится, так как у тебя зашифрованный посредством ssl протокол и в функцию send уже передаются зашифрованные пакеты которые зашифрованы и подготовлены к отправке на сервер. Но опять же в первом посте у тебя об этом задачи не стояло, а стояла конкретная задача, на которую я тебе дал конкретный ответ что нужно делать. Так же надо иметь ввиду что в приложении может использоваться WinSock Version 2.0, тогда соответственно функции будут называться WSAConnect, WSASend, WSARecv и так далее.
Под SSL я упоминал прокси, который способен читать https трафик, и что не очень хочу им пользоваться
Адрес сервера и сам запрос - не зашифрованы(только https)
зашифрован ответ от сервера, но не суть, в этом проблемы не было
яж не просто так в send упёрся, там вполне себе открытые запросы лежат
а WSASend и WSARecv не вызываются вообще
Просто защита сделана весьма своеобразно, по этому тут такие странности
Цитата:
Сообщение от Тигрь
Какая может быть практика если у тебя с теорией ноль. Но только если ты из тех практиков обезьян которые без знания теории тыкают палкой везде куда придется, в надежде, что, что-то получится, ну тогда с такой практикой ты далеко не уедешь.
Да большинство и с теорией далеко не поехали
Но по крайне мере - мне весело, а значит почему бы и да, буду тыкать палкой во всякое
Под SSL я упоминал прокси, который способен читать https трафик, и что не очень хочу им пользоваться
Адрес сервера и сам запрос - не зашифрованы(только https)
зашифрован ответ от сервера, но не суть, в этом проблемы не было
яж не просто так в send упёрся, там вполне себе открытые запросы лежат
а WSASend и WSARecv не вызываются вообще
Просто защита сделана весьма своеобразно, по этому тут такие странности
Да большинство и с теорией далеко не поехали
Но по крайне мере - мне весело, а значит почему бы и да, буду тыкать палкой во всякое
https это и есть шифрование ssl над обычным http. как не зашифровано когда зашифровано. и если обращение к серверу идет по https то в сенд никак не может быть открытых запросов. скрин откуда из https прокси, который уже расшифровал все и показал в обычном виде? ну ла это же одно и тоже что и сенд, ну да. в общем ладно если тыкаться палкой это твой метод, тыкайся, дальше я уже тебе не помощник.
https это и есть шифрование ssl над обычным http. как не зашифровано когда зашифровано.
Я думал что ты про шифрацию помимо https, она там тоже встречается но позже, в определённый момент всё общение с сервером накрывается поверх https - AES-256 шифрованием, и сервер начинает отвечать на запросы в зашифрованном виде
Последний раз редактировалось Dezzmand; 16.07.2022 в 10:23.