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

Совет Уязвимость у проектов с лаунчером Сашка

Veloi

Активный участник
Пользователь
Баллы
48
Имя в Minecraft
Veloi
Здравствуйте, дорогие рубакитовцы. Сегодня я хотел бы рассказать об уязвимости у большинства проектов с лаунчером от Сашка. Эта тема создана для новичков, т.к. опытные пользователи могут уже давно знать об этой уязвимости. Ну не буду тянуть резину.

Как вы все знаете, чтобы реализовать вход на сервер только через лаунчер, требуется сменить ссылки на файлы в неком "классе авторизации" (я рассказываю о версии 1.7, в версиях ниже - несколько файлов). Этот класс есть и на сервере и в клиенте. Мы будем говорить о клиенте.

Способ первый. Если клиент не обфусцирован, этот класс легко спереть и вставить в свой клиент. Вы сможете зайти на сервер под своим ником, но с читами.

Способ второй. Если клиент обфусцирован, это не делает большой преграды... Мы можем сами узнать ссылки на эти файлы авторизации на сайте. Достаточно хорошо знать, что такое "инструменты разработчика" в браузере Google Chrome. С помощью их можно узнать путь к файлам, будучи обычным пользователем сайта.

Предупреждаю! Эту теорию я НЕ проверял. Это только логика. Я написал эту тему, т.к. сам являюсь тех. администратором на одном проекте. Спасибо за внимание.
 
Лол, ты вообще знаешь как работает авторизация? Там сессия, все дела.
 
Есть вопрос: в авторизации на сервере с указанием файлов авторизации участвует только логин-пароль?
 
Зачем такие сложности? Можно просто заморозить клиент сразу после запуска, вытащить сессию из командной строки, пока он не успел отдать её серверу и сделать её невалидной, запустить читерский клиент с верной сессией, а замороженный клиент закрыть.
 
Зачем такие сложности? Можно просто заморозить клиент сразу после запуска, вытащить сессию из командной строки, пока он не успел отдать её серверу и сделать её невалидной, запустить читерский клиент с верной сессией, а замороженный клиент закрыть.
Пфф, ещё проще..
Запустить через консоль лаунчер (-java launcher.jar тутзабылпараметры)и там словить сессию, но это только если не используется NulledStream как output-поток.
 
Омг. Давно еще писал - полностью защититься лончером невозможно. Ставьте мощный античит на стороне сервера и не парьтесь. Иначе никак.
 
Пфф, ещё проще..
Запустить через консоль лаунчер (-java launcher.jar тутзабылпараметры)и там словить сессию, но это только если не используется NulledStream как output-поток.
Любой знающий серверодержатель знает ,что Forge пишит в логи сессию ,и тупо вырезает её в апплете(до 1.6) ,выше вроде и не пишет вообще.
Что касается ТС ,многие уже юзают в классе отправляющему ник и сессию joinserver ,шифрование ,например AES, так что с ванильным классом просто не прокатит
 
Даже если заенить ссылки на нужные в классах своего клиента, все равно работать не будет. Так как в лаунчера сашка все файлы в клиенте проверяются. И при замене одного из файлов уже клиент нчинает скачиваться заново.
 
Даже если заенить ссылки на нужные в классах своего клиента, все равно работать не будет. Так как в лаунчера сашка все файлы в клиенте проверяются. И при замене одного из файлов уже клиент нчинает скачиваться заново.
Если лаунчер что-то проверяет, то можно и его заморозить. В общем, морозим всех. Вот вам и чашкосдув без ограничения по времени. И никаких универсальных обходов не нужно.
 
Если лаунчер что-то проверяет, то можно и его заморозить. В общем, морозим всех. Вот вам и чашкосдув без ограничения по времени. И никаких универсальных обходов не нужно.
И каким ты способом его будешь морозить, еси не секрет?
 
И каким ты способом его будешь морозить, еси не секрет?
Сначала создам снимок всех потоков в системе через CreateToolhelp32Snapshot, по идентификатору процесса определю потоки джавы. А дальше всё просто:

ThreadHandle = OpenThread(ThreadID, ..., THREAD_ALL_ACCESS, ...);
SuspendThread(ThreadHandle);
CloseHandle(ThreadHandle);

И так для каждого потока.
 
У меня на серверах везде стоит Orebfucsator. Даже с онлайном в 300 человек читеры - довольно таки редкое явление. Похоже, что нерабочий x-ray и фиксы дюпов отбивает желание у них читерить, а с одним спидхаком далеко в развитии не уедешь.

Суть: Забил на защиту лаунчера в пользу серверной защиты.
 
Суть: Забил на защиту лаунчера в пользу серверной защиты.
Ну и лалка. Взял бы да написал/заказал лаунчер на C или FASM, и всё тути. Не декомпельнешь. А на HEX далеко не уедешь, епт.
 
Здравствуйте, дорогие рубакитовцы. Сегодня я хотел бы рассказать об уязвимости у большинства проектов с лаунчером от Сашка. Эта тема создана для новичков, т.к. опытные пользователи могут уже давно знать об этой уязвимости. Ну не буду тянуть резину.

Как вы все знаете, чтобы реализовать вход на сервер только через лаунчер, требуется сменить ссылки на файлы в неком "классе авторизации" (я рассказываю о версии 1.7, в версиях ниже - несколько файлов). Этот класс есть и на сервере и в клиенте. Мы будем говорить о клиенте.

Способ первый. Если клиент не обфусцирован, этот класс легко спереть и вставить в свой клиент. Вы сможете зайти на сервер под своим ником, но с читами.

Способ второй. Если клиент обфусцирован, это не делает большой преграды... Мы можем сами узнать ссылки на эти файлы авторизации на сайте. Достаточно хорошо знать, что такое "инструменты разработчика" в браузере Google Chrome. С помощью их можно узнать путь к файлам, будучи обычным пользователем сайта.

Предупреждаю! Эту теорию я НЕ проверял. Это только логика. Я написал эту тему, т.к. сам являюсь тех. администратором на одном проекте. Спасибо за внимание.

Вообще-то на сервере тоже есть "класс" авторизации. И если сессия неправильная зайти не выйдет.

Если клиент отлично обсуфицирован, то всё сложнее для школозавров. Вообще-то ссылка на скрипты легко определяется когда вы авторизуетесь в лаунчере, есть специальная программа, а инструменты разработчиков толка большого не дадут, может автор поменяет путь к скриптам?

Если вы теорию не проверяли, зачем тогда эта тема? Экстрасенс нашелся что-ли?
 
Ну и лалка. Взял бы да написал/заказал лаунчер на C или FASM, и всё тути. Не декомпельнешь. А на HEX далеко не уедешь, епт.
FASM убийца кроссплатформерности. Да и если планшет на винде, но с ARM процессором, то тоже не запустится. @HoShiMin, так?
У меня на серверах везде стоит Orebfucsator. Даже с онлайном в 300 человек читеры - довольно таки редкое явление. Похоже, что нерабочий x-ray и фиксы дюпов отбивает желание у них читерить, а с одним спидхаком далеко в развитии не уедешь.

Суть: Забил на защиту лаунчера в пользу серверной защиты.
+1
 
FASM убийца кроссплатформерности. Да и если планшет на винде, но с ARM процессором, то тоже не запустится. @HoShiMin, так?

+1
Кто в здравом уме будет запускать лаунчер на планшете? На самом деле, к чёрту кроссплатформенность, никогда не понимал истерики по этому поводу, однако FASM как раз кроссплатформенный ассемблер.
 
Кто в здравом уме будет запускать лаунчер на планшете? На самом деле, к чёрту кроссплатформенность, никогда не понимал истерики по этому поводу, однако FASM как раз кроссплатформенный ассемблер.
Ну если на планшете Win 8, то почему бы и нет :)
> FASM кроссплатформенный ассемблер
Ага, только WinAPI если не юзать :)
 
Ну если на планшете Win 8, то почему бы и нет :)
> FASM кроссплатформенный ассемблер
Ага, только WinAPI если не юзать :)
Нет, FASM - именно КРОССПЛАТФОРМЕННЫЙ ассемблер, он прекрасно собирает родные приложения под линукс.
 

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

Назад
Верх