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

Фикс Защита лаунчера [Переменная сессия]

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем Dj Arktic, 27 фев 2013.

  1. Dr.Creeper

    Dr.Creeper Активный участник Пользователь

    Баллы:
    63
    Можешь подкинуть для чистого 1.4.7 Не FORGE
    или как сделать это в эклипсе
    Отрываем эклипс с рабочим каталогом MCP
    Идем в net.minecraft.client.multiplayer.NetClientHandler
    И в конец добавляем
     
  2. Хостинг MineCraft
    <
  3. VaNnOrus

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

    Баллы:
    123
    Вот это явно лишнее.
    Мы уже львиную долю безопасности потеряли на ключе в лаунчере, а Вы предлагаете еще и в клиент его положить на всеобщее обозрение.
    Зачем клиенту расшифровывать сессию? Он строку валидной сессии может передать целиком, без всяких расшифровок(что успешно и делает), а скрипт апдейтом просто стирает данные о сессии из базы. То есть результат в точности как и у Вас, но мы палим ключ только 1 раз в лаунчере.
    Спасибо за статью, с некоторыми отступлениями применил Ваш метод.

    Осталось рассказать людям как скомпилировать лаунчер так, чтоб его не вскрыли банально открыв архиватором. В этом есть загвоздка - я использую исходники бухаря(не знаю как дела на остальных). При компилировании .exe с помощью jar2exe и пряча классы у меня перестает работать функция распаковки нативов из jar, соответственно клиент с таким лаунчером не запустить.
    Если кто-нибудь подскажет решение проблемы буду благодарен. Есть отдельная тема.
     
    zuma2 нравится это.
  4. qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    может joinserver?
     
    GJEvolution нравится это.
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Как все наивно тем же jar2exe классы обратно можно вернуть :trf:.
     
  6. Seintwill

    Seintwill Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Seintwill
    Автор,огромное тебе спасибо :)
    Я смотрел что происходит с iCraft и боялся создавать проект.
    Благодаря твоему фиксу жизнь стала лучше :)
     
    RVXman и Help нравится это.
  7. VaNnOrus

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

    Баллы:
    123
    Не суть как называется скрипт.
    Именно поэтому я предложил обсудить способы защиты от декомпиляции лаунчера в своей теме :)
     
  8. pizzlywizzly

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

    Баллы:
    123
    ТС адекватно, с расстановкой расписал вариант защиты, за что большоой плюс. Как руки дойдут попробовать, отпишусь.
    У меня стоит проверка в клиенте md5 самого себя с последующей передачей серверу. Сервер никак не предотвращает подключение игроков с левым md5, а лишь банит их через n-ное время, дабы никто не понял, в чем заключается защита, а админы проверяют логи передачи и всех, кто связан с этим игроков. Довольно эффективно + иногда выявляются баги.
     
  9. pizzlywizzly

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

    Баллы:
    123
    У дураков админов мысли сходятся. Когда враг неизвестен, его сложнее победить ;)
     
  10. aleksandor

    aleksandor Активный участник Пользователь

    Баллы:
    68
    Skype:
    sanj.666
    Имя в Minecraft:
    aleksandor
    неплохо надо чтобы лаунчер проверял запущена программа которая отслеживает сессию если да то лаунчер закрывался бы
     
  11. Alastar

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

    Баллы:
    173
    Автор молодчина!
     
  12. pizzlywizzly

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

    Баллы:
    123
    Реальная защита от мультиакка это считывание отпечатков с мышки каждую минуту игры. Все остальное лишь попытки.
    HWID?
     
    Help нравится это.
  13. Sanyak91

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

    Баллы:
    63
    Имя в Minecraft:
    Sanyak
    Вопрос такой.У меня лаунчер написан на C#,можно ли как-то поставить эту защиту на него?Тем более на сколько я знаю, лаунчер на C# невозможно декомпилировать.
     
  14. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    ЛОЛ на C# программы дизассемблируют :). Но не спорю это более сложный процесс.
     
  15. alex55i

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

    Баллы:
    103
    Имя в Minecraft:
    alex55i
    Не C#, а C/C++
    СиРешетка также легко декомпилируется как и джава
     
    Сникерсни нравится это.
  16. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну я не учил C так что я не знаю какой проще декомбилить или дизассемблировать.
     
    ВремяПриключений нравится это.
  17. Sanyak91

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

    Баллы:
    63
    Имя в Minecraft:
    Sanyak
    CиРешетка ахахахахха насмешил,CиШарп Вообще-то)
     
    ПриветОтМиднайта нравится это.
  18. foxquiz

    foxquiz Активный участник Пользователь

    Баллы:
    78
    Как понимаю, написание dll-лек предполагается на компилируемом языке, но тогда, собственно, вопрос: почему-бы и весь лаунчер писать не на Java, а на си/паскале/чем-то ещё?

    UPX не протектор, это - упаковщик: упаковать UPX для защиты == ничего не сделать. В UPX распаковщик вообще встроен (вызывать с ключом -d).
    Чтобы защитить программу от декомпиляции и отладки, вам нужны протекторы, но для тех, что вы сможете найти в паблике существуют автоматические, или, как минимум, полу-автоматические распаковщики, скрипты для ollydbg. Есть, конечно, достойные протекторы, вроде Obsidium или VMProtect, смотрите в их сторону, но придется потратиться.
     
  19. VaNnOrus

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

    Баллы:
    123
    Вопрос в том сколько процентов игроков будут настолько заморачиваться только для того, чтоб зайти на сервер в обход лаунчера? К тому же лаунчер это лишь одна ступень защиты, можно много чего еще сделать, что в итоге приведет к бесполезности обхода лаунчера.
     
  20. foxquiz

    foxquiz Активный участник Пользователь

    Баллы:
    78
    Элементы защиты в клиенте сходят на нет из-за относительной легкости декомпиляции и отладки Java-приложений. Достаточно и одного процента игроков-школьников, которые сумели обойти защиту и начали гадить.

    Если же лаунчер будет написан на компилируемом языке, Ява-машину будет держать в своём адресном пространстве, использовать антиотладочные приемы, ещё лучше - уходить в ring0 и перехватывать все неприятные обращения к процессу и файлам игры на любом уровне (да-да, это звучит неимоверно нагло, но это, можно сказать, единственный действительно надежный способ) - то это совершенно другое дело. Кто обойдет такую защиту - не из тех, кто играет в minecraft кто что-то портит на сервере.
    Насчет перехватов всего что можно - это была моя главная идея защиты до некоторого времени, но обломался на запуске неподписанных дров под x64 (сюда бы исходники TDL4 ^^).
     
  21. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А теперь реализуй то же самое на linux, и других ос где майнкрафт поддерживается (Иначе я приду и спецом нагажу)
     

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