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

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

AlexMerser

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

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

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

Можно обфускацией stringer'a защитить код мода :)
 
Работать будет ровно 5 минут, пока читер не засечёт палёный мод.
А обфусцировать мод нельзя, он просто не загрузится.
 
Соответственно что он будет с ним делать? Править?
Да. Причём не будет фигачиться с листами хэшей как некоторые тут считают. Просто скопирует папку и отправит мод сканировать скопированную, а сам будет в настоящую читы пихать.
 
Да. Причём не будет фигачиться с листами хэшей как некоторые тут считают. Просто скопирует папку и отправит мод сканировать скопированную, а сам будет в настоящую читы пихать.

Ну а теперь побудь чуточку теслой, запусти этот момент у себя в голове. Никаких ошибок не замечаешь ?
 
Ну а теперь побудь чуточку теслой, запусти этот момент у себя в голове. Никаких ошибок не замечаешь ?
Итак читер берёт папку .superserver копирует всё что там есть в .superserver1 и меняет в моде чтобы он сканил .superserver1, а сам в .superserver читы пихает.
 
Итак читер берёт папку .superserver копирует всё что там есть в .superserver1 и меняет в моде чтобы он сканил .superserver1, а сам в .superserver читы пихает.

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

Все потому что я Тесла, а ты нет :D
 
А далее ? Вот он допустим запустил чистый клиент, его пустило на сервер. А уже с модифицированным не пустит. А знаешь почему ? Потому что мод все равно отправит хэши, а сервер его не пустит.

Все потому что я Тесла, а ты нет :D
Мод отправит хэши папочки в 1 в конце, гле лежат оригинальные файлы. Так что хэши будут правильные.
Как все сложно :D. Яб так поступил java -cp ./cheat.bin/cheat.jar;./real.bin/minecraft.jar :).
Вы будете весь мой комп проверять на наличие архива с левыми классами?
ТСССС. Это очень древний, но везде пашущий метод.
 
Мод отправит хэши папочки в 1 в конце, гле лежат оригинальные файлы. Так что хэши будут правильные.

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

Не зря же читеры грузят minecraft1.jar а не срезают md5
 
Воу воу воу ребят, старые добые хеши и синхронизация с сервером, все делает лаунчер и сессии в чем проблема?
Ну просто такой метод уже давно ломают. Вот автор хочет ещё что-то закостылить.
 
Ну просто такой метод уже давно ломают. Вот автор хочет ещё что-то закостылить.
Хорошо, допустим, я впилю кроме двойной проверки хешей, проверку размера файла и наличие контрольного файла в самом ядре клиента, и делать проверку каждые 30 секунд (как в какомто лаунчере) если гдето трабла вышвернет как собачонку.... Как такое можно ломать. Вы мне скажите на милость. Если вопрос, пускать игрока на сервер или нет если запущен из под левого лаунчера решается ключем сессии который генерируется через специальный код
 
Хорошо, допустим, я впилю кроме двойной проверки хешей, проверку размера файла и наличие контрольного файла в самом ядре клиента, и делать проверку каждые 30 секунд (как в какомто лаунчере) если гдето трабла вышвернет как собачонку.... Как такое можно ломать. Вы мне скажите на милость. Если вопрос, пускать игрока на сервер или нет если запущен из под левого лаунчера решается ключем сессии который генерируется через специальный код
Просто находим проверочные функции и вырезаем их, если что-то шлёт хеши наружу, модифицируем чтобы слало нужные.
Либо заставляем проверять клиент в одной папке а грузить из другой.

Перепроверка есть в сашке и что?
Просто грузят minecraft1.jar
 
Просто находим проверочные функции и вырезаем их, если что-то шлёт хеши наружу, модифицируем чтобы слало нужные.
Либо заставляем проверять клиент в одной папке а грузить из другой.
Ну насчет вырезания функций надо еще и декомпелировать, и найти эти несколько ункций с проверками, если их несколько. Это нужно быть ярым хакером чтобы дебажить исполняемый, модифицировать выходные пакеты данных. Можно пойти как и сложным путем вставив несколько переменных которые контролируют друг друга отправлять хеш на сервер и качать оригинал себе получается двойная проверка. Можно вобще запихнуть в exe контейнер (если по простому) и защитить протектором... только настоящие хакеры сломают это дело.

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

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

Назад
Верх