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

Идея Защита от изменения клиента на стороне сервера

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

  1. Автор темы
    AlexMerser

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

    Баллы:
    173
    Вот только что пришла идея про новую защиту от подмены файлов клиента.
    Способ работы:
    1. Генерируется md5 основных файлов клиента
    2. Записывается в специальный файл или бд
    3. Клиент заходит на севрер
    4. Специальный мод генерит md5 нужных файлов
    5. При заходе плагин/мод на стороне сервера проверяет данные от мода на клиенте. Если данных нет - на сервер не пускает. Если есть и совпали с данными в бд - пускает
    Если бред - прошу не оскор****ь, а культурно написать
     
  2. Хостинг MineCraft
    <
  3. aicon

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

    Баллы:
    123
    Skype:
    kick_007-008
    Что мешает немного подправить мод и отправлять не вычисленные только что контрольные суммы файлов, а уже прописанные ?
     
  4. Автор темы
    AlexMerser

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

    Баллы:
    173
    Вижу вы разбираетесь в этом
    Изначально я хотел проверять мд5 через плагин, возможно ли это?
     
  5. aicon

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

    Баллы:
    123
    Skype:
    kick_007-008
    Напрямую плагином вычислять хэши файлов клиента игроков ? Нет, нельзя. Поправьте меня, если я олень неправ :D
     
  6. TicTacKitKat

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

    Баллы:
    88
    Skype:
    sachapiter1
    Имя в Minecraft:
    wagamer
    Можно обфускацией stringer'a защитить код мода :)
     
    Stalkerdeni971 нравится это.
  7. Автор темы
    AlexMerser

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

    Баллы:
    173
    Shevchik, есть шансы у этой защиты?
     
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Работать будет ровно 5 минут, пока читер не засечёт палёный мод.
    А обфусцировать мод нельзя, он просто не загрузится.
     
  9. Автор темы
    AlexMerser

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

    Баллы:
    173
    Соответственно что он будет с ним делать? Править?
     
  10. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Да. Причём не будет фигачиться с листами хэшей как некоторые тут считают. Просто скопирует папку и отправит мод сканировать скопированную, а сам будет в настоящую читы пихать.
     
    ВремяПриключений нравится это.
  11. aicon

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

    Баллы:
    123
    Skype:
    kick_007-008
    Ну а теперь побудь чуточку теслой, запусти этот момент у себя в голове. Никаких ошибок не замечаешь ?
     
  12. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Итак читер берёт папку .superserver копирует всё что там есть в .superserver1 и меняет в моде чтобы он сканил .superserver1, а сам в .superserver читы пихает.
     
  13. aicon

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

    Баллы:
    123
    Skype:
    kick_007-008
    А далее ? Вот он допустим запустил чистый клиент, его пустило на сервер. А уже с модифицированным не пустит. А знаешь почему ? Потому что мод все равно отправит хэши, а сервер его не пустит.

    Все потому что я Тесла, а ты нет :D
     
  14. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Мод отправит хэши папочки в 1 в конце, гле лежат оригинальные файлы. Так что хэши будут правильные.
    ТСССС. Это очень древний, но везде пашущий метод.
     
  15. aicon

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

    Баллы:
    123
    Skype:
    kick_007-008
    Игрока все равно не пустит, тк мод и сейчас отправит хэши модифицированных файлов, а сервер просто откажет. А вот во второй раз пустит, но с оригинальным клиентом.
     
  16. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Мод отправит хэши правильных файлов, потому что я сказал ему отправлять хэши файлов которые лежат в папочке с 1 на конце. И сказать моду сканировать моды из другой папочки куда легче чем пихать туда список хэшей. 1ое - 1 строку поправить, ну для хитрожопых чуть байткода поменять, а чтобы таблицу впихнуть надо сильно мудохаться.

    Не зря же читеры грузят minecraft1.jar а не срезают md5
     
  17. UserDead

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

    Баллы:
    153
    Воу воу воу ребят, старые добые хеши и синхронизация с сервером, все делает лаунчер и сессии в чем проблема?
     
  18. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Ну просто такой метод уже давно ломают. Вот автор хочет ещё что-то закостылить.
     
  19. UserDead

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

    Баллы:
    153
    Хорошо, допустим, я впилю кроме двойной проверки хешей, проверку размера файла и наличие контрольного файла в самом ядре клиента, и делать проверку каждые 30 секунд (как в какомто лаунчере) если гдето трабла вышвернет как собачонку.... Как такое можно ломать. Вы мне скажите на милость. Если вопрос, пускать игрока на сервер или нет если запущен из под левого лаунчера решается ключем сессии который генерируется через специальный код
     
  20. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Просто находим проверочные функции и вырезаем их, если что-то шлёт хеши наружу, модифицируем чтобы слало нужные.
    Либо заставляем проверять клиент в одной папке а грузить из другой.

    Перепроверка есть в сашке и что?
    Просто грузят minecraft1.jar
     
    Оригинало_о нравится это.
  21. UserDead

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

    Баллы:
    153
    Ну насчет вырезания функций надо еще и декомпелировать, и найти эти несколько ункций с проверками, если их несколько. Это нужно быть ярым хакером чтобы дебажить исполняемый, модифицировать выходные пакеты данных. Можно пойти как и сложным путем вставив несколько переменных которые контролируют друг друга отправлять хеш на сервер и качать оригинал себе получается двойная проверка. Можно вобще запихнуть в exe контейнер (если по простому) и защитить протектором... только настоящие хакеры сломают это дело.

    Я щас могу много чего придумать и может быть даже сделать! НО
    Сложность защиты зависит не от ее сложности а ее стоимости. Как нас учили в колледже на програмной инженерии: Стоимость взлома программы должна превышать ее стоимость, тоесть как сказать, было ради чего.
    Мне еще както написали на форуме одном, как одну программку одного програмиста который 80% програмы имел не програму, а защиту, но самой програмы оставалось 20% от всего кода, ее всетаки слома один человек... защиту эту, и написал разрабу мол все ломается, тут тогда вопрос стоит в том, через какое время найдут новую дырку. Но суть в том был ли смысл этому хакеру тратить огромнейшую кучу своего времени ради того чтобы сломать программку за $11
     
    MegaAntoxa1 нравится это.

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