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

Идея античит (сесия)

В таблице там где SessionId и ServerId добавляем колонку TimeStamp и в неё писать время жизни сесии.
допустим:
$LiveSession = 10; // время жизни сесии в секундах
$Timestamp = (date("U") + $LiveSession); // записываемое значение

ну потом при заходе проверять:
if($TimeStamp < date("U"))
{
die("FuckYou");
}
 
@Konstantin773, Для большей надежности
PHP:
 $sessid = generateSessionId();
mysql_query("Update $db_table SET $db_columnSesId='$sessid' Where $db_columnUser='$user'") or die (mysql_error());
function generateSessionId(){
srand(time());
$randNum = rand(1000000000, 2147483647).rand(1000000000, 2147483647).rand(0,9);
return $randNum;
}
 
@alexandrage, можете описать что делает функция?
 
лучше получать ссессию лаунчером, передавать её в клиент, а клиентом, получать новую сессию, по переданной.
 
@Konstantin773, Для большей надежности
PHP:
 $sessid = generateSessionId();
mysql_query("Update $db_table SET $db_columnSesId='$sessid' Where $db_columnUser='$user'") or die (mysql_error());
function generateSessionId(){
srand(time());
$randNum = rand(1000000000, 2147483647).rand(1000000000, 2147483647).rand(0,9);
return $randNum;
}

аааааааа, у меня мозги уже болят с этой защитой!alexandrage, запили эту защиту в твои исходники фикса или скинь готовую веб часть с защитой в ЛС, пожалуйста
 
Код:
<?php
define('INCLUDE_CHECK',true);
include ("connect.php");
$user = mysql_real_escape_string($_GET['user']);
$serverid = mysql_real_escape_string($_GET['serverId']);
$result = mysql_query("Select $db_columnUser From $db_table Where $db_columnUser='$user' And $db_columnServer='$serverid'") or die (mysql_error());
if(mysql_num_rows($result) == 1) echo "YES";
else echo "NO";
mysql_query("Update $db_table SET $db_columnSesId='f6g234fu434gehtd7zklzy68' Where $db_columnUser='$user'") or die (mysql_error());
?>

Примерно вот так
or die (mysql_error()); - лишнее
Чушь.Чтобы снова зайти нужно перезапускать игру.
Можно сделать в auth.php: Лаунчер авторизируется и через 30 секунд auth.php изменяет сессию.
А если у человека медленный инет и загрузка длится минут 5?
Или слабый комп и загрузка майна займет 40 секунд(к примеру)?
Чушь...И ещё раз чушь...Нужна альтернатива.
 
Насчёрт инжектора.
Стянул с mmoru когда тема ещё была, держите.
https://dl.dropboxusercontent.com/u/71299154/multitrainer 0.7.CT
Загружать через CE.
Версию майна не знаю, но работать должен, видос указывал что это работало на minecraftonly
 
В checkserver.php добавить удаление sessionid после входа
P.S: Точнее замена на определенную последовательность, которую знает только администратор
Зашёл в клиент, взял сессию, закрыд! Запустил через bat клиент с сессией что получил! Ввёл IP сервера, зашёл с читами! И сессия удалилось, а ты продолжаешь играть с читами... Гениальное решение защиты...
А хотя если сделать прямое подключение.... То может и прокатит, но! Что бы перезайти на сервер нужно перезапустить клиент! И самое главное... При запуске клиента оффнул интернет, получил сессию и опять запуск через бат-ник и т.д.
 
Зашёл в клиент, взял сессию, закрыд! Запустил через bat клиент с сессией что получил! Ввёл IP сервера, зашёл с читами! И сессия удалилось, а ты продолжаешь играть с читами... Гениальное решение защиты...
А хотя если сделать прямое подключение.... То может и прокатит, но! Что бы перезайти на сервер нужно перезапустить клиент! И самое главное... При запуске клиента оффнул интернет, получил сессию и опять запуск через бат-ник и т.д.
если ты берешь сессию то она уже не действительна xD скажи номер диллера а то мне скучно.
 
Я не очень в этом понимаю , но, если хранить две сессии, прошлую и новую, потом сверять с прошлой и вставлять в базу с банами ник игрока ?
 
Я не очень в этом понимаю , но, если хранить две сессии, прошлую и новую, потом сверять с прошлой и вставлять в базу с банами ник игрока ?
мысль не закончена, во первых, кто будет сверять? если заходить через левый лаунчер. т.к в моем понимании сессия идет мимо сервера.
 
Я не очень в этом понимаю , но, если хранить две сессии, прошлую и новую, потом сверять с прошлой и вставлять в базу с банами ник игрока ?
Сессия каждый раз новая, не? :) И на второй вход мы имеем бан.
 
мысль не закончена, во первых, кто будет сверять? если заходить через левый лаунчер. т.к в моем понимании сессия идет мимо сервера.
Почему через левый, если сверять будет твой auth.php
 
Старый способ, когда ещё толком клякеров не было, я уже об этом способе знал.
 
Тема хоть и старая но вполне актуальная. А что касается медленных пк как описано выше "Не устраивает проверка по времени".
Берите поле не TimeStamp а скажем SessionUse. Если id сессии использован то выставляем в 1 а когда генерируем новую то обнуляем.

Вообще для особо пытливых можно качнуть MinecraftCoderPack и уже на уровне клиента игры накодить своих причуд, вплоть до изменения id сесии после закрытия клиента и добавить дополнительный параметр к GET запросу который был бы обязателен, чтобы не обошли это дело запуском второго клиента=)

Ну и закрытие приложения при открытии копии второго)

Ну конечно это всё для тех кто любит поизвращаться, а так метод по нескольким ключам с баном за повторный вход со старым Id и перезапуском клиента для повторного входа на сервер на мой взгляд рулит=)
Кст) Можно просто убрать кнопку "отмена" через MCP чтобы автовходом всё решалось через банальную подмену ИД после авториза.
 
up/ сори что так много мусора .<
Чувак, юзая лаунечер сашка ты реально хочешь защититься от читеров автоудалялкой сессии? Ты серьезно?
Есть еще универсальный обход, для которого твой ланучер трогать и сессии ловить вообще не надо :D
 
Чувак, юзая лаунечер сашка ты реально хочешь защититься от читеров автоудалялкой сессии? Ты серьезно?
Есть еще универсальный обход, для которого твой ланучер трогать и сессии ловить вообще не надо :D
Слушай, а отпиши пару методов. Я просто не так давно занимаюсь этим. Решил запустить свой сервер, думаю для начала хватит одного. Написал себе лаунчер на C#, хочу сперва немного обезопасить клиент - если не полностью то ничего страшного(На ошибках учатся). Проверку клиента сделал банально - сверяется размер файлов. Также удаляются папки либо файлы, ну в общем гибкую настройку под себя сделал. Что касается по части клиента. Можно конечно в сырцах покопаться, но для начала нужно что искать.

Буду благодарен если опишите пару методов универсальных для взлома, метод ликвидации данных возможностей я найду сам. По возможности отпишу здесь если кому нужно.
 
Чувак, юзая лаунечер сашка ты реально хочешь защититься от читеров автоудалялкой сессии? Ты серьезно?
Есть еще универсальный обход, для которого твой ланучер трогать и сессии ловить вообще не надо :D
:mad: дату смотри, некропостер (ну и или как вы там таких оболдуев кличате) тогда таких наворотов не было.
 

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

Назад
Верх