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

Идея Защита лаунчера на платформе java

DjonnyCodin

Старожил
Пользователь
Баллы
103
Имя в Minecraft
Djonny
Пример защиты лаунчера
Положить лаунчер в архив и запаролить архив
И написать программу которая будет знать этот пароль и она сможет его открыть,
Архив будет встроен в exe
Только 1 минус данного способа, работа лаунчера только осуществима на windows
Есть программа (Допустим на C++ или Delphi)
Rоторая получает доступ к серверу (допустим FTP) и
от туда получает все данные лаунчера
или от туда качает пакет jar в зашифрованном виде, а программа его расшифровывает
Также есть минус кроссплатформенность

Вопрос к продвинутым и более знающим программистам

Возможно ли такое осуществить со вторым способом ?
так как первый я испробовал х..й кто откроет но всеже первый способ тоже можно вломать
 
Так же у меня есть несколько идей, только насчет сессии.

1) User-agent. Говоря простым языком, он узнает, каким же браузером вы вошли на сайт.
В php он выглядит так: $_SERVER['HTTP_USER_AGENT']
С помощью его можно ограничить доступ к тому или иному веб-скрипту.
Получается запрос сможет осуществить только браузер(в нашем случае лаунчер) с таким агентом. Я в java не силен, так что не знаю, можно ли там указать user agent
Делал такую защиту, но поверьте, подделать этот заголовок очень просто, что сводит всю защиту на нет.
 
Так же у меня есть несколько идей, только насчет сессии.

1) User-agent. Говоря простым языком, он узнает, каким же браузером вы вошли на сайт.
В php он выглядит так: $_SERVER['HTTP_USER_AGENT']
С помощью его можно ограничить доступ к тому или иному веб-скрипту.
Получается запрос сможет осуществить только браузер(в нашем случае лаунчер) с таким агентом. Я в java не силен, так что не знаю, можно ли там указать user agent

2) Передача сессии по частям.
У многих "чытераф" есть программа, которая перехватывает всё веб-соединение с компьютером. Через нее видят передающуюся сессию.
Так вот. Что если передавать сессию по частям? Людям потребуется переписывать клиент. А если еще сделать более сложную защиту(к примеру будет столько частей сессии, сколько символов в логине и/или пароле), то человек просто-напросто не сможет понять саму систему шифрования

3) Единоразовая и граниченная во времени сессия. Что это значит? Всё просто:
Человек входит в лаунчер, авторизуется. Если всё верно, то ему приходит сессия(короая действительна 1 минуту) и он под ней входит в игру. Но нюанс заключается в том, что после выхода из сервера игроку придется заново входить в лаунчер.
1 - подделать UA - 3 секунды.
2 - ловить анализатором раффика - устарвший метод, сессию дампят из лаунчера, либо из лаунчера вырезают защиту.
3 - достаточно отмнеить заход на сервер.
 
Появилась еще 1 идея:
Есть один человек, который может зашифровать jar в exe так, что его ни 1 winrar'ом не откроешь(берет он конечно за это дело пару тысяч).
Можно создать jar'ник, в котором не будет самого лаунчера, а только часть авторизации с веб-частью.
Помимо этой авторизации запихнуть все вспомогательные библиотеки майна и
- если обновлений клиента не будет, то весь minecraft.jar
- если собираетесь делать обновления клиента, то добавить еще большую часть самого minecraft.jar, а остальное чтоб подгружалось .dll(если возможно)
Дамп JVM решает эту проблему.
 
и что он решит? с ним разве можно достать клиент?
Достаётся всё что загрузилось или может загрузится в JVM после прохода по import'ам и класслоадерам.
Короче все классы, и ваша авторизация, и клиент.
 
На будущее - можно получить исходники любого лаунчера на Java, сделав дамп JVM.
Не совсем исходники, просто дешифрованные классы, но потом пройтись fernflower - дело 5 секунд.
 
Java еще распостроняют открытый код платформы
Если в самой виртуально машине создать ещё одну то ( ага фиг те а не дамп так как будет дамп 2ой машины запущеной на первой )
Только способ этот будет возлогать сильную нагрузку на vm
 
Java еще распостроняют открытый код платформы
Если в самой виртуально машине создать ещё одну то ( ага фиг те а не дамп так как будет дамп 2ой машины запущеной на первой )
Только способ этот будет возлогать сильную нагрузку на vm
Я без проблем сдамплю из второй, это лишь вопрос подключения Agent
Хотя так как ты хочешь сделать сделать и невозможно, ещё одну запустить можешь, а внутри - нет.
И снова идея:
Игрок зашел в игру. После чего собирается размер каждого класса в клиенте (в фоновом режиме и небольшой скоростью дабы не нагружать майн)
После 10 секунд захода на сервер клиент передает все данные размеров на сервер, если данные не сходятся либо они вообще не передавались после захода (вырезаны), то сервер банит на день
Подделывается байткод эдитором за 10 секунд.
Между фантастикой.
Возможно сделать так чтобы зашифровать все н@][ на Base64
Не поможет, даже не буду объяснять почему, иди читай документацию.

Забудьте об Security through obscurity.
Это вам не поможет.
 
и сделать встроеный дешифратор который по секретному словечку будет расшифровывать все эту тему
 
и сделать встроены дешифратор который по секретному словечку будет расшифровывать все эту тему
Дамп. Невалидный байткод выполняться не будет, сначала его нужно расшифровать, а расшифрованный уже ловится дампом.
ИДИ БЛДЖД ЧИТАТЬ ДОКУМЕНТАЦИЮ, А ПОТОМ МОЖЕШЬ ВОЗВРАЩАТЬСЯ.
 
Дамп. Невалидный байткод выполняться не будет, сначала его нужно расшифровать, а расшифрованный уже ловится дампом.
Пиз_ц это аблом полный.
Ты ламер :D
Кто ваще придумал этот ДАМП (microsoft)
Походу все решиться дампом.
На квантовом компе такого не сделаешь XDD
 
Пиз_ц это аблом полный.
Ты ламер :D
Кто ваще придумал этот ДАМП (microsoft)
Хитрые хацкеры, которым нужно было снять шифрацию байткода.

Да все проблемы решаются дампом, а дальше дело техники - байткод эдитором сменить пару строчек.
 
А если на кексе писать то ни кто ни чего не взломает ))наверно
 
А что разве обфускаторы не защищают? Скиньте какой-то лаунчер, просто интересно...
 

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

Назад
Верх