Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Лаунчер ИнтерноПротэкт [ВебЗащита от читов]

Intern0

Старожил
Пользователь
Баллы
153
Имя в Minecraft
Intern0
Intern0 protect.​

Коротко о защите, данная защита позволит вам защитить свой проект от читерюг на 99,9%.​
Из чего состоит защита? Защита состоит всего от 4 скриптов и дополнения к любому лаунчеру.​
​
Как работает? Вот пример как работает защита:
  1. Запуск лаунчера, посылка даты на первый скрипт.
  2. Принятие даты первым скриптом, выдача сессии, отправка OK.
    1. Если скрипт не работает, лаунчер не запуститься в онлайн режиме.
  3. Отправка первым скриптом POST данные на второй скрипт.
  4. Создание новой строки в БД, отсылка POST запроса к первому скрипту (OK, NO)
    1. OK - создалось.
    2. NO - ошибка. (лаунчер не запускается)
  5. Реагирование первого скрипта на данные, выдача инфы лаунчеру (OK, NO)
    1. OK - создалось.
    2. NO - ошибка. (лаунчер не запускается)
  6. Запуск лаунчера, скачивание игры.
  7. Отсылка версии игры и версии хэш minecraft.jar, скрипту с MD5.
  8. Проверка данных MD5, занесение в БД.
  9. Запуск функции автопроверки сессии и проверки MD5 кода.
    1. Если MD5 похоже с данными из БД. OK
    2. В другом случае. NO
    1. Выключение лаунчера с диалог окном "Ваша сессия/MD5 устарела".
  10. При входе на сервер отсылка третьему скрипту на проверку сессии.
  11. Проверка скриптом данных.
    1. OK - пропускаем на сервер.
    2. NO - ошибка выход из лаунчера.
  12. При игре автопроверка на наличие правдивой сессии раз в 5 минут.
Что будет когда у игрока старая сессия? При запуске и обнаружении устарелой сессии полностью удаляется папка с игрой и идет новая закачка.

Скачать вебчасть.
Дополнение для лаунчера: Сашко, Тигер, Максимус, Нотч.

На данный момент идет полная разработка! На название не обращаем внимание, может поменяю. :)​
 
1. Декомпилируем лаунчер.
2. Видим адреса, куда шлется + небольшая доп. инфа, чтобы с форматом не напутать.
2.5. Можно даже отловить такой POST запрос.
3. Пересобираем лаунчер, ведь исходники есть, и радуемся тому, что очередную защиту мы обошли.

Комментария:
В инете принято пароли хешировать по заданным алгоритмам, ну так вот, если брать хеш от готового хеша, то криптоустойчивость пароля понижается. К чему это я ? У нас здесь 3 POST запроса, как на ладони, вместо одного, стоит ли говорить о улучшении защиты? Кто смог ловить сессию с одним запросом, то и разберется, что делать с тремя. :).
Но идея интересная.
 
1. Декомпилируем лаунчер.
2. Видим адреса, куда шлется + небольшая доп. инфа, чтобы с форматом не напутать.
2.5. Можно даже отловить такой POST запрос.
3. Пересобираем лаунчер, ведь исходники есть, и радуемся тому, что очередную защиту мы обошли.

Комментария:
В инете принято пароли хешировать по заданным алгоритмам, ну так вот, если брать хеш от готового хеша, то криптоустойчивость пароля понижается. К чему это я ? У нас здесь 3 POST запроса, как на ладони, вместо одного, стоит ли говорить о улучшении защиты? Кто смог ловить сессию с одним запросом, то и разберется, что делать с тремя. :).
Но идея интересная.
0,1% состовляют те, кто смогут это сделать. 99,9% умеют только ловить сессию и запускать майн через батник.
Обмен данных с вебчастью не лучший выход. Лучше делать обмен с сервером по асинхронному каналу вместе с игровыми данными.
Я реализовал бан по "HDD serial id", также сделал передачу скрипту joinserver.php при запуске Minecraft (а не при заходе на сервер), также вместе с логином и сессией передаются пароль, похэшенный с сессией и minecraft.jar. При повторном запуске с теми же данными клиент не запустится, так как значения session будет меняться при выполнении joinserver.php.
 
0,1% состовляют те, кто смогут это сделать. 99,9% умеют только ловить сессию и запускать майн через батник.
Обмен данных с вебчастью не лучший выход. Лучше делать обмен с сервером по асинхронному каналу вместе с игровыми данными.
Есть целые группы, где можно попросить себе обход на сервер, или скачать себе простой инструмент, с помощью которого можно зайти на сервер без лаунчер в два кликаа.

Обмен с сервером - это хорошо, но сервер при этом должен общаться с вебчастью.
 
1. Декомпилируем лаунчер.
2. Видим адреса, куда шлется + небольшая доп. инфа, чтобы с форматом не напутать.
2.5. Можно даже отловить такой POST запрос.
3. Пересобираем лаунчер, ведь исходники есть, и радуемся тому, что очередную защиту мы обошли.

Комментария:
В инете принято пароли хешировать по заданным алгоритмам, ну так вот, если брать хеш от готового хеша, то криптоустойчивость пароля понижается. К чему это я ? У нас здесь 3 POST запроса, как на ладони, вместо одного, стоит ли говорить о улучшении защиты? Кто смог ловить сессию с одним запросом, то и разберется, что делать с тремя. :).
Но идея интересная.
Кодировка лаунчера все решит.
 
А как сервер будет проверять, что клиент зашел через лаунчер и не с левым клиентом?
Можно изменить способ и данные подачи от клиента к серверу и защиты в лаунчере можно вообще не ставить.
 
Можно изменить способ и данные подачи от клиента к серверу и защиты в лаунчере можно вообще не ставить.
Лаунчер должен контролировать целостность клиента, потому, что его можно подретушировать под свои требования.
 
Лаунчер должен контролировать целостность клиента, потому, что его можно подретушировать под свои требования.
Лаунчер уже давным давно перестал быть нормальной защитой.
 
Хорошая защита, не чего не скажешь... Желаю удачной доработки!
 
Сейчас вполне нормально и безопасно написать лаунчер на C++
Навряд ли кто-то сделает красивый и функциональный лаунчер на плюсах.
Чего стоит сделать красивый дизайн и ту же отправку POST-запроса. Если на java/.net это было все очень быстро и просто, то здесь это будет мучительно. Плюсы можно использовать для безопасности некоторых функций, т.к. исходники не получишь декомпиляцией.
 

Поделиться этой страницей

Назад
Верх