Защита Защита сервера с исходниками (С++)

kick

Предвестник
Administrator
За веру и верность форуму
Отец-основатель
Сообщения
6 973
Розыгрыши
22
Решения
1
Репутация
6 046
Реакции
6 832
Баллы
2 688
Защита состоит из клиентской и серверной части. Реализовано шифрование трафика от клиента на сервер. Проверка игрового клиента(защита от OOG бота).
Защита написана в VS2008. Использовался boost 1_55_0.
Как запустить и проверить работу.
1.Нужен чистый клиент GF (83 протокол).
2.Копируем в папку system ProxyConnector.exe (можно взять готовый из папки Release) и AddNetQueue.dll(можно взять готовый из проекта AddNetQueue).
Либо можно собрать самому( нужна библиотека boost 1_55).
3.l2.ini устанавливаем адрес сервера 83.137.50.6(готовый сервер с поднятой защитой). Либо настроить для своего сервера ( об этом ниже).
4.Запускаем ProxyConnector.exe с правами админа . Появлется окно консоли
5.Через несколько секунд запускается клиент Lineage.
6.Логинимся (вводим любой логин и пароль).Входим в выбор сервера.Заходим.
7. Если все прошло нормально.
8. Либо защите не нравится клиент.
9. ProxyConnector.exe должен запускаться с правами админа.

Как это работает.

L2.exe ---->(шифрован) 127.0.0.1 port 9992 ProxyConnector.exe --->(шифрован) 83.137.50.6 port 7779( закрыть файрволом 7777) ServerConnector
ServerConnector ---->(открыт*) 127.0.0.1 7777 L2Server
открыт*- стандартное "шифрование" пакетов геймсервера

Краткое описание.

Логин сервер должен отдавать адрес геймсервера 127.0.0.1 порт 9992(либо другой ).

ProxyConnector.cpp ListenerGamePortServer gps("127.0.0.1", "9992", io_service); открываем слушающий порт (127.0.0.1 порт 9992)
клиент коннектися создается сессия.данные перенаправляются туда .Шифруем что надо (пакет CryptInit,т.к. без него расшифровать трафик не сможем)
Инжектим в память процесса AddNetQueue.dll расшифровываем пакет CryptInit.
GamePortSession.cpp

void GamePortSession::start()
{

const std::string remote_ip="83.137.50.6"; // куда слать пакеты
const std::string remote_port="7779";
.....
}
ServerConnector все аналогично ProxyConnector.Принимаем и расшифровываем пакет CryptInit. Отдаем пакеты L2Server.

Сам ключ шифрования (В ServerConnector и ProxyConnectorдолжны быть одинаковые)
char guard_key[16] = {
0xe1, 0x47, 0x7b, 0xa7,
0x42, 0x33, 0xf6, 0x59,
0xc1, 0x75, 0x77, 0x15,
0x51, 0xd3, 0x47, 0x1c
};
 
Последнее редактирование:

Это вроде как для PTS ? либо для Windows не для Linux
 
Последнее редактирование:
я имел введу под ОС(операционную систему) какую сделано с стороны сервера!
Извиняюсь понял что она делает! :Bingo:
 
Последнее редактирование:
Есть кто тестил? от перехватчика пакетов защищает?

правда Emca говорила что исходный код защиты, нет смысла выкладывать, так как ее в этом случае смогут обойти...)
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Слил чтобы посмотреть из интереса. Честно говоря в глаза не видел сурсы античита - не одного.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Нет времени объяснять, шарьте мне в лс все что есть
 
Назад
Сверху Снизу