myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему

> Скрипт бана читеров, использование greylink против читов

Теги
Нет тегов для показа
Setuper
сообщение 25.5.2009, 18:05
Сообщение #1


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Вот накатал скрипт для бана читеров.
Используем грейлинк, для того, чтобы банить читеров big_smile.gif

Название скрипта: cheats-detector
Версия: 1.1
Автор: Setuper
Описание: Ловит несоответствия в размере шары. В действиях можно указать бан пользователя.
Команды:
/checkshare nick - проверка пользовтеля с указанным ником
/checkshare - проверка всех пользователей данного хаба
/luafile startup.lua - команда запуска скрипта
/lua dcpp = nil - команда остановки скрипта

Для работы скрипта в папке lua должны находиться библиотеки lua32.dll и dcutil32.dll (или соответствующие 64 разрядные)
Сам скрипт кидаем в папку scripts. Скрипт будет запускаться автоматически при старте клиента.

Открываем файл Settings/CustomMessages.ini и дописываем туда:
Код
/lua dcpp = nil
/luafile startup.lua
/checkshare
После этого можно будет не запоминать команды, а юзать меню "пользовательские сообщения".


Пока что функционал скриптов не позволяет проверять пользователей при входе на хаб, поэтому для того чтобы проверить пользователя(ей) приходится вводит команды вручную.

Юзаем и отписываем сюда если что не так big_smile.gif


Прикрепленный файл  startup.lua ( 4.45 килобайт ) Кол-во скачиваний: 131


Спасибо сказали:
Go to the top of the page
+Quote Post
ustas
сообщение 25.5.2009, 20:24
Сообщение #2


Продвинутый участник
****

Группа: Пользователи
Сообщений: 183
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 25 раз




немного изменил код, добавил
Код
local sMsg1 = [[Юзер [NI] с IP: [I4] не балуется читами
    Тэг: [TAG]
    Размер файл-листа: [SIZE] байт
    Шара: [SS] байт
]]

и
Код
function dcpp.OnDownloadFinished(sFile, uid)
  local iSize, tUser, tList = 0, tAPI:GetUserInfo(uid), dcutil.loadlist(sFile..".xml.bz2")
  for _, v in pairs(tList) do
    iSize = iSize + v.size
  end
  if iSize < tonumber(tUser.SS) then
    tAPI:new():SimPublicMessage(tUser.HL, tAPI:ToUtf8(("<%s> "):format(sBot)..SetParams(tUser, sMsg):gsub("%[SIZE%]", iSize)))
    if sAction then
      tAPI:new():SendPublicMessage(tUser.HL, tAPI:ToUtf8(SetParams(tUser, sAction)))
    end
    else
    tAPI:new():SimPublicMessage(tUser.HL, tAPI:ToUtf8(("<%s> "):format(sBot)..SetParams(tUser, sMsg1):gsub("%[SIZE%]", iSize)))
  end
end


и проверил, вот что получилось
Цитата
[2009-05-25 20:14] :?? <LUABOT> Проверяю файл-лист пользователя: ustas
[2009-05-25 20:17] :?? <LUABOT> Юзер ustas с IP: 127.0.0.1 не балуется читами
Тэг: <UstasDC++ V:1.0,M:A,H:0/0/2,S:3,L:5128>
Размер файл-листа: 917406161892 байт
Шара: 912392882203 байт

размеры разные. Читы отключены
проверяет 3 минуты - это нормально? (100 мбит)
p.s. 3 минуты из-за большой шары, для шары 50 Мб почти мгновенно
баг - после того, как запустил проверку юзера, когда пытаюсь скачать файллист другого юзера, тоже выполняется его проверка
Go to the top of the page
+Quote Post
Delion
сообщение 25.5.2009, 20:35
Сообщение #3


Иной
******

Группа: Пользователи
Сообщений: 496
Регистрация: 20.10.2008
Из: ткани Истории
Пользователь №: 843
Спасибо сказали: 12 раз




Цитата
Ловит несоответствия в размере шары

Непонятно. Что в точности он делает?
И будет ли работать в других клиентах с поддержкой LUA?
Go to the top of the page
+Quote Post
Setuper
сообщение 25.5.2009, 20:47
Сообщение #4


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Размеры разные допускаются.
Это происходит из-за того, что при хешировании некоторые файлы (не фильмы) немного сжимаются, поэтому подсчитывая размер всех действительных файлов и размер хешированых файлов, получаем, что последний размер меньше, поэтому условие обнаружения чита - это условие, когда размер файл-листа мельне размера шары.

Можно использовать небольшие читы и детектор не сработает. Он будет срабатывать только при явном завышении шары, при завышении примерно на 3%.

ustas: Насчёт твоей дописки, не вижу в ней смысла. Это только будет не по детски грузить клиент (как раз минуты 3). Нужно выводить сообщение только если найден чит!

Кстати говоря, в сообщении sMsg можно использовать следующие тэги:
Код
    [NI] -- ник
    [I4] -- ip
    [DE] -- описание
    [EM] -- email
    [SS] -- точная шара
    [SSshort] -- форматированния шара
    [TAG] -- тэг
    [TA] -- тэг
    [VE] -- версия клиента
    [US] -- тип соединения
    [CO] -- тип соединения
    [HN] -- hubs unreg
    [HR] -- hubs reg
    [HO] -- hubs op
    [SL] -- слоты
    [ST] -- магический байт
    [AW] -- режим away (== "1" иначе nil)
    [LOC] -- местоположение
    [OP] -- статус оператора (== "1" иначе nil)
    [HL] -- хаб
    [ME] -- я (== "1" иначе nil)
    [RG] -- зарегистрирован на данном хабе


В других клиентах с поддержкой lua совершенно другие функции api, поэтому работать не будет однозначно. Сомневаюсь, что другие клиенты с поддержкой lua настолько же богаты api функциями.
Go to the top of the page
+Quote Post
ustas
сообщение 25.5.2009, 20:50
Сообщение #5


Продвинутый участник
****

Группа: Пользователи
Сообщений: 183
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 25 раз




Цитата(Setuper @ 25.5.2009, 20:44) *
Насчёт твоей дописки, не вижу в ней смысла. Это только будет не по детски грузить клиент (как раз минуты 3). Нужно выводить сообщение только если найден чит!
согласен. Просто хотел проверить, как работает.
Go to the top of the page
+Quote Post
Setuper
сообщение 25.5.2009, 21:00
Сообщение #6


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Цитата(ustas @ 25.5.2009, 20:24) *
баг - после того, как запустил проверку юзера, когда пытаюсь скачать файллист другого юзера, тоже выполняется его проверка

Это не баг. Проверка будет выполняться при любом скачивании файл-листа, в противном случае, если делать проверку только по команде, то нагрузка на проверку того, что я качаю файл-лист только для проверки будет значительной.

Безусловно лучше конечно делать проверку юзеров непосредственно при их входе на хаб, однако такой функции пока нет.
Go to the top of the page
+Quote Post
ustas
сообщение 25.5.2009, 21:16
Сообщение #7


Продвинутый участник
****

Группа: Пользователи
Сообщений: 183
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 25 раз




добавил в грее 100 ГБ
Цитата
[21:14:29] <LUABOT> Юзер ustas с IP: 127.0.0.1 не балуется читами
Тэг: <UstasDC++ V:1.0,M:A,H:0/1/1,S:3,L:5128>
Размер файл-листа: 1025778261638 байт
Шара: 1020764981949 байт

фейк шару не определил
Go to the top of the page
+Quote Post
Setuper
сообщение 25.5.2009, 21:34
Сообщение #8


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Мда... Под петабайт слишком большая шара.
Если у человека расшарено под петабайт, то не думаю, что он будет подделывать шару, и даже если и будет, то это не так важно. big_smile.gif
В общем из-за сжатия конечно косяк.
Go to the top of the page
+Quote Post
ustas
сообщение 25.5.2009, 21:44
Сообщение #9


Продвинутый участник
****

Группа: Пользователи
Сообщений: 183
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 25 раз




Цитата(Setuper @ 25.5.2009, 21:34) *
Мда... Под петабайт слишком большая шара.
Если у человека расшарено под петабайт, то не думаю, что он будет подделывать шару, и даже если и будет, то это не так важно. big_smile.gif
В общем из-за сжатия конечно косяк.

оставил только фейк шару
Цитата
[21:40:37] <LUABOT> Юзер ustas с IP: 127.0.0.1 не балуется читами
Тэг: <UstasDC++ V:1.0,M:A,H:0/1/1,S:3,L:5128>
Размер файл-листа: 104857909510 байт
Шара: 104857909510 байт
Go to the top of the page
+Quote Post
Setuper
сообщение 25.5.2009, 21:49
Сообщение #10


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Хехе.
Данный скрипт не проверяет подлинность файл-листа, он только сравнивает шару и размер файлов в файл-листе.
Для проверки нужно скачать случайный файл, что в принципе можно реализовать в скрипте.
Go to the top of the page
+Quote Post
ustas
сообщение 25.5.2009, 21:54
Сообщение #11


Продвинутый участник
****

Группа: Пользователи
Сообщений: 183
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 25 раз




Цитата(Setuper @ 25.5.2009, 21:49) *
Для проверки нужно скачать случайный файл, что в принципе можно реализовать в скрипте.

допустим у меня реальная шара 50 ГБ + фейков на 50 ГБ. Все файлы качать нереально, тогда как скрипт определит, что вот этот файл фейковый, а этот реальный?
Go to the top of the page
+Quote Post
Setuper
сообщение 25.5.2009, 22:03
Сообщение #12


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Никак. Повторяю, что данный скрипт предназначен только против настройки "плюс к шаре"!
Против подделки файл-листа методов борьбы думаю, что нету.
Go to the top of the page
+Quote Post
ustas
сообщение 25.5.2009, 22:29
Сообщение #13


Продвинутый участник
****

Группа: Пользователи
Сообщений: 183
Регистрация: 20.5.2008
Пользователь №: 5
Спасибо сказали: 25 раз




Цитата(Setuper @ 25.5.2009, 22:03) *
Никак. Повторяю, что данный скрипт предназначен только против настройки "плюс к шаре"!
Против подделки файл-листа методов борьбы думаю, что нету.
Так в грее при использования "+ к шаре" как раз используется фейковая шара. Т.е. грей не отловить. Жаль
Go to the top of the page
+Quote Post
FallenAngel
сообщение 25.5.2009, 23:28
Сообщение #14


[n00b]
*****

Группа: Пользователи
Сообщений: 313
Регистрация: 10.7.2008
Из: Россия,Пенза
Пользователь №: 168
Спасибо сказали: 24 раза




Обнаружен читер!
Ник: [PNZ]Джони
IP: IP
Тэг: <gl++ V:5.57,M:A,H:6/1/0,S:16>
Размер файл-листа: 25097765796 байт
Шара: 25946967410 байт

[23:20:33] <[=БОТ=]> *** Ошибка [PNZ]Джони не на хабе.

Потом по IP посмотрел- ник у юзера [PNZ]Джони
С этим как бороться?big_smile.gif Ну я то его вручную забанил. А эт "на заметку" чтоль..
Go to the top of the page
+Quote Post
Setuper
сообщение 25.5.2009, 23:49
Сообщение #15


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Исправил баг. Скрипт перезалил.
Go to the top of the page
+Quote Post
FallenAngel
сообщение 26.5.2009, 8:20
Сообщение #16


[n00b]
*****

Группа: Пользователи
Сообщений: 313
Регистрация: 10.7.2008
Из: Россия,Пенза
Пользователь №: 168
Спасибо сказали: 24 раза




Хм... А как именно определяется несоответствие шар? А то выдает несколько ников- якобы у них шара поддельная, но проверяю сам файлист у них-но шара нормальная вполне. Нету ни одного "лишнего" файла...
Go to the top of the page
+Quote Post
Delion
сообщение 26.5.2009, 11:04
Сообщение #17


Иной
******

Группа: Пользователи
Сообщений: 496
Регистрация: 20.10.2008
Из: ткани Истории
Пользователь №: 843
Спасибо сказали: 12 раз




Цитата
Данный скрипт не проверяет подлинность файл-листа, он только сравнивает шару и размер файлов в файл-листе

Пффф. Без обид,но ты изобрёл велосипед.
Очередная неудавшаяся пиар-акция Грея.
Go to the top of the page
+Quote Post
Setuper
сообщение 26.5.2009, 13:17
Сообщение #18


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Возможно.
Возможно данный вариант скрипта не совсем хорош, однако сам факт наличия достаточного lua функционала открывает перед lua прогерами широкие перспективы. Если будут предложения как подругому реализовать обнаружение читеров я готов реализовать.
Go to the top of the page
+Quote Post
Otshelnik-Fm
сообщение 26.5.2009, 23:26
Сообщение #19


Я коварный Санта Клаус
******

Группа: Пользователи
Сообщений: 526
Регистрация: 4.11.2008
Из: Саратов
Пользователь №: 985
Спасибо сказали: 54 раза




Всё сделал как написано в первом посте. Запускаю клиент - пишет что скрипт запущен... а дальше ничего не происходитю Как действовать? запускаю командой /checkshare -
Цитата
[02:32:13] <LUABOT> Проверяю файл-листы всех пользователей
- и за сутки ничего в чат так и не выдало. В чем причина? Знаю что из 200 человек один но с обманной шарой.

Сорри - Надо скачать файл листы со всех пользователей!

Разобрался

а вот это нормально?

Цитата
[23:12:50] <LUABOT> Обнаружен читер!
Ник: paiper
IP: 95.84.48.214
Тэг: <ApexDC++ V:s14,M:A,H:12/0/0,S:9>
Размер файл-листа: 33691368196 байт
Шара: 33796225796 байт
- в списке файлов написал 31.38 Гб шара

С виду вроде нормальная шара - ну отличается она на 2 гига от того что написал бот
. А другой юзер с 200 гигами fdgjhfjhbgjbndgjkbndjghnb.avi файлов и 50 гигами нормальных файлов - не забанен. так смысл в этой "фишке"?

Стоит не банить юзера а просто выдавать админу в чат что подозрительный юзер на хабе...
Закоментировав 27 строку
Код
local sAction = "!ban [NI] Подделка шары"
- я же не буду банить пользователей?
Go to the top of the page
+Quote Post
Setuper
сообщение 26.5.2009, 23:56
Сообщение #20


RusHub team
**************

Группа: Модераторы
Сообщений: 4 151
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1671 раз




Ещё раз повторяю, что скрипт предназначен против циферного добавления шары. Скрипт не отлавливает подделанные файл-листы.

Для отключения бана нужно просто не ставить действие:
Код
local sAction = nil
или так
Код
local sAction = false
Go to the top of the page
+Quote Post

3 страниц V   1 2 3 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Нужен скрипт
mysql, ip filter
2 shadow3c 158 20.8.2014, 21:30 Посл. сообщение: shadow3c
No new votes Опрос: Topic has attachmentsСкрипт онлайн-погоды
скрипт погоды сейчас
57 Perspect 19 587 17.7.2014, 12:52 Посл. сообщение: Ksan
No New Posts Topic has attachmentsPtokax 0.5.0.2 скрипт автозагрузки?
Как добавить в автозагрузку?
1 jonnix 346 8.7.2014, 0:31 Посл. сообщение: alex82
No New Posts Нужен игровой скрипт
Девочки против Мальчиков
5 Pro009 542 17.5.2014, 4:16 Посл. сообщение: Ksan
No New Posts Topic has attachmentsСкрипт разделения сетей пользователей
4 Angel_D 548 12.5.2014, 21:04 Посл. сообщение: Артём
No New Posts Скрипт сообщающий о падении хаба
7 SonicX 1 107 9.12.2013, 17:44 Посл. сообщение: HackFresse
No New Posts Topic has attachmentsСкрипт для icecast
13 belradio 9 051 8.12.2013, 18:07 Посл. сообщение: RoL
No new ВАЖНО: Topic has attachmentsСкрипт банов для RusHub
тестим и комменьтруем
78 Wariner 25 814 24.11.2013, 16:32 Посл. сообщение: Артём
No new Topic has attachmentsСкрипт проверки баланса
хелп
35 Lesh™ 11 632 17.11.2013, 18:44 Посл. сообщение: Mr.Faber
No New Posts Скрипт платной регистрации
2 stanok 897 11.11.2013, 15:30 Посл. сообщение: Артём
No New Posts Скрипт выводящий раз в час сообщение
3 Ahton 826 28.9.2013, 23:05 Посл. сообщение: Ksan
No New Posts От: Скрипт приветствия Motd
От темы с ID: 5053
2 RoL 738 9.6.2013, 22:43 Посл. сообщение: Артём
No new Topic has attachmentsСкрипт статистики для админов
Статистические данные о посещаемости
23 valdis73 6 684 30.1.2013, 0:55 Посл. сообщение: Артём
No new Topic has attachmentsСкрипт блок привата и общего чата (ответ цифрами) для Verlihub
19 Алекс 2 635 28.11.2012, 1:30 Посл. сообщение: Алекс
No New Posts От: помогите переделать скрипт для Ptokax
От темы с ID: 5237
0 Infern0_05 1 286 14.9.2012, 16:46 Посл. сообщение: Infern0_05

 



RSS Сейчас: 29.8.2014, 9:13