Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал [урок] привенчиваем проверку md5 к клиенту

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем sashok724, 27 ноя 2011.

  1. Dimchik000

    Dimchik000 Старожил Пользователь

    Баллы:
    123
    Skype:
    Millennium36rus
    Имя в Minecraft:
    Millennium
    а как этот файл защитить?
     
  2. Хостинг MineCraft
    <
  3. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Про защиту. Допустим, клиент расчитывает хэш и отправляет его к check.php, можно добавить вторую ссылку на другую проверку.
    На сервере можно использовать текстовый файл с хэшем minecraft.jar.
    Остается сделать так, чтобы клиент обращался к серверу с хэшем, а сервер сравнивал его со своим (тем, который в текстовом файле). Если совпали - ОК, если нет - ERROR
    А на ERROR направить любую ошибку сервера: BadLogin, Failed to Verify username и т.д.
    Для приема хеша сервером надо понять, как сервер принимает сессию от клиента и на основе сделать отправку хеша
     
  4. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Никак, ну только если ты не гений java
     
  5. Dimchik000

    Dimchik000 Старожил Пользователь

    Баллы:
    123
    Skype:
    Millennium36rus
    Имя в Minecraft:
    Millennium
    хех норм только как то воплотить в жизнь?
     
  6. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Еще можно сделать проверку на основе сессии. Клиент берет сессию у системы авторизации: хэш соответствует - сессия посылается, не соответствует - к сессии дописываются символы и сервер ее не принимает.
     
  7. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Я уже над этим думаю.
     
  8. Dimchik000

    Dimchik000 Старожил Пользователь

    Баллы:
    123
    Skype:
    Millennium36rus
    Имя в Minecraft:
    Millennium
    Было бы супер если бы ты сделал тутор !
     
  9. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Как я сделаю тутор, если еще нет готовых файлов? Я поковыряюсь в исходниках, отвечающих за сессию, попробую что-нить сделать
     
  10. Dimchik000

    Dimchik000 Старожил Пользователь

    Баллы:
    123
    Skype:
    Millennium36rus
    Имя в Minecraft:
    Millennium
    мммм то круто вот у меня online-mode=true он защищает от того чтобы не смогли с другого лаунчера зайти если поставить защиту мд5 через сесию тогда обхода некакого не будет?
     
    MineMan910 нравится это.
  11. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Ну это рано или поздно раскусят, но защита будет намного сложнее.
    Единственно плохо то, что NetClientHandler отвечает за многое, непонятно как код располагать. Большая часть файла - это отправка данных серверу.
     
  12. Dimchik000

    Dimchik000 Старожил Пользователь

    Баллы:
    123
    Skype:
    Millennium36rus
    Имя в Minecraft:
    Millennium
    Блин разберался я бы получше помогбы а так могу только смореть и размышлять по данному вопросу!
     
  13. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    С сессией не получится, NetClienthandler только готовит данные к отправке, но не отправляет их, невозможно вывести подключение к check.php
     
  14. iluha97

    iluha97 Активный участник

    Баллы:
    88
    Спасибо Огромное!
     
  15. dark32

    dark32 А где твой ТЗ? Пользователь

    Баллы:
    123
    Имя в Minecraft:
    dark32
    Что-то я пропустил. Подобная защита искалось мной уже некоторое время в открытом доступе. Первый раз я увидел её у ***.su (не буду их рекламировать), я декомпилировал и увидел покарёбенный код (из-за декомпиляции). Сразу же пробил все вскрывшиеся ссылки, просниферел и понял как обойти подобную защиту, что собственно и сделал. Правда модлоадер поставить не получалось из-за грязного кода после декомпиляции.
    Эта защита лучше чем проверка с лаунчера md5 клиента, но дыры есть и дыры огромные. Уже сейчас я могу назвать на вскидку 3 способа её обхода связанных с 1 строчкой кода:
    Код:
    s = (new StringBuilder()).append(s1).append("/.minecraft/bin/").append(s2).toString();
    Те кто поймут в чём уязвимость, в объяснениях не нуждаются.
    Нужно с помощью java определять месторасположение minecraft.jar, это на некоторое время отдалит обход.
    За код спасибо, возьмю себе в закладки и по возможности буду вам помогать, жаль мои возможности в яве так и остаются на уровне начинающей кодер.

    Можно попробовать и посмотреть что выведет такая конструкция
    Код:
    return new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath());
    и что-то полезное http://www.rgagnon.com/javadetails/java-0391.html
     
  16. Dimchik000

    Dimchik000 Старожил Пользователь

    Баллы:
    123
    Skype:
    Millennium36rus
    Имя в Minecraft:
    Millennium
    Ну то давно известно что идеальной защиты нет и врят ли когда будет!Но сложную защиту смогут взломать еденици особенно если она хорошаяи и продуманная! По сессии впринцципи если у вас получится будет вполне хорошая защита!Если всё у вас получится будет бомба!
     
  17. VaNnOrus

    VaNnOrus Старожил Пользователь

    Баллы:
    123
    У многих стоит система скинов бухаря
    Там ставится как раз онлайн мод и в сервере ссылка на чексервер.пхп
    Вот в тот же пхп надо хеш майнкрафт.жар и засунуть как условие

    К слову, на сколько хорошо защищает онлайн мод тру?
     
    The Midnight Wizard нравится это.
  18. Dimchik000

    Dimchik000 Старожил Пользователь

    Баллы:
    123
    Skype:
    Millennium36rus
    Имя в Minecraft:
    Millennium
    ну да не акти получаеся вот по сессией будет не чего так защита !
     
    RVXman нравится это.
  19. VaNnOrus

    VaNnOrus Старожил Пользователь

    Баллы:
    123
    Сессию лаунчера вскрывают и дальше уже что хотят делают.
    Защита хороша была бы если б еще сервер проверял расположения майнкрафт.жар и его хеш при подключении.
     
  20. Konstantin773

    Konstantin773 Старожил Пользователь

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Я об этом на прошлой странице писал. Но в этом тот же минус: хэш можно отправлять на сервер через NetClientHandler, но простая замена класса опять же сломает защиту в пух и прах
     
  21. qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    Видел на 1 сервере, если поменять клиент (minecraft.jar) далее зайти в игру>сетевая игра>заходиш в сервер, если поменяш пишет Обновите клиент!
    как они эт сделали =\
    я об этом ещо давно писал тут
     

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