Сообщений: 1,240
Тем: 29
Зарегистрирован: May 2013
Репутация:
2,505
Archiel Написал:Написать не проблема, вопрос в архитектуре. Куда пихать проверку, что анализировать, какие активности считать ботом? Тут нужен опыт.
Начните с анализа пакета MoveBackwardToLocation. Многие боты не любят/понимают мышь.
Родился, живу и когда-нибудь умру.
Сообщений: 3,494
Тем: 52
Зарегистрирован: Jun 2010
Репутация:
12,167
06-13-2015, 06:29 PM
(Сообщение последний раз редактировалось: 06-13-2015, 06:32 PM Deazer.)
:cs: сейчас грустит 1 Дез и 1 Изен
Добавлено через 2 минуты
Donatte Написал:Начните с анализа пакета MoveBackwardToLocation. Многие боты не любят/понимают мышь. ШШШТА , так еще раз ШШШШШШШШШШТА ??????? Пакетная мышь , сумчатый io , млекопитающий Атомик ?
Сообщений: 63
Тем: 8
Зарегистрирован: Apr 2014
Репутация:
184
Не читал всю тему, возможно уже было, но если есть руки и знания, то в шаре лежит вроде как сама защитка за 1.03.2015.
Ну я не знаю, как тут уважают Акумыша, по этому не буду выкидывать ее сюда, могу скинуть в личку кому надо. Сам не тестил.
Сообщений: 3,494
Тем: 52
Зарегистрирован: Jun 2010
Репутация:
12,167
Пацаны отдельно живут(пакетная мышь и т.д.) - защита и боты. Боты вертят , да какие боты. У меня не больше 30 мин уходит на обход.
А пацаны с адреналина pcoder такой очень бодрый разраб, ему завертеть ну мин 10 потолок.
Сообщений: 83
Тем: 0
Зарегистрирован: Apr 2015
Deazer Написал:Пацаны отдельно живут(пакетная мышь и т.д.) - защита и боты. Боты вертят , да какие боты. У меня не больше 30 мин уходит на обход.
А пацаны с адреналина pcoder такой очень бодрый разраб, ему завертеть ну мин 10 потолок. Там по-моему говорилось про анализ трафика, всунуть его куда-нибудь где игрок меньше всего ждет, к примеру в определенной зоне - внутри городов/деревень - на выходе или еще где-то, и смотреть за совпадением - если у определенного количества - значения совпадают с большей долей% - чем у других, закинуть их на похожую проверку, если и там совпадет то дать бан.
Я правда не вдавался в подробности - как именно и что именно в трафике очевидного, но полагаю - там определенно заданая частота - передачи запросов - move,stop,turn,move, без задержки, когда у игрока идет move,stop..задержка, turn И тд.
P.S.
Основной проблемой в данном виде проверки- я считаю нагрузку на сервак, рассчитывать по несколько раз до 1000-2000 игроков, по трафику это гг..
Сообщений: 63
Тем: 8
Зарегистрирован: Apr 2014
Репутация:
184
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
Skittles Написал:Не читал всю тему, возможно уже было, но если есть руки и знания, то в шаре лежит вроде как сама защитка за 1.03.2015.
Ну я не знаю, как тут уважают Акумыша, по этому не буду выкидывать ее сюда, могу скинуть в личку кому надо. Сам не тестил. Ага, называется сервер-сайд, который доступен всем желающим, клац.
DrHolmes Написал:Основной проблемой в данном виде проверки- я считаю нагрузку на сервак, рассчитывать по несколько раз до 1000-2000 игроков, по трафику это гг.. Нагрузка? Как Вы ее считаете? В процентах процессорного времени на участок кода? Я могу заверить, что почти никакой нагрузки нет, хотя весь вопрос в том, как наговнокодить. Лично у меня, перехватывается сырое событие о пришедшем/ушедшем пакете, т.к. таких событий очень и очень много, то JIT конечно же компилирует горячую область. Questions?
Если Вы уж любитель локов и тяжелых вещей, то в чем проблема, на событие форкать трид и отпускать дальше работать пакетный обработчик? Тем более, что в J8 добавили легковесные триды, вкупе с пулом для них х)
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 83
Тем: 0
Зарегистрирован: Apr 2015
Есть правда еще один вариант на счет "защиты от бота - на клиентском уровне".
Могу и ошибаться или это просто бред но все-же
Не буду вдаваться в теорию, но то как это именно - технически обстоит, могу описать.
Клиент связан с сервером, отправляя пакеты, пакеты это .dll часть из которых привязана к другим клиентским файлам, которые в свою очередь отвечают за передвижение объекта в мире(серверном/клиентском), не знаю на сколько извращенно делать это именно так, а не иначе - но все-же. Существует файл LineageWarrior.u , он тот самый контроллер объектов(правда частично) - но в него можно добавить логическую проверку, которая бы не давала ботом - возможности действовать напрямую/либо так, а не иначе(если их действие подподает под проверку, то пакет не будет отсылаться, либо будет крашить игру), после чего необходимо было бы переписать импорты от оригинальной.dll - в вашу .dll(в нее же и поместить частично/не полностью LineageWarrior.u), и закриптовать все это дело, далее привязать вашу .dll к серверу, таким образом чтобы недостающая часть с сервера - общалась с клиентской, в итоге бот не сможет использоваться с такой .dll, правда врятли это будет надолго, ибо нужно будет снять тот же крипт и переписать импорты.
Сообщений: 148
Тем: 5
Зарегистрирован: Sep 2014
Репутация:
549
Skittles Написал:Не читал всю тему, возможно уже было, но если есть руки и знания, то в шаре лежит вроде как сама защитка за 1.03.2015.
Ну я не знаю, как тут уважают Акумыша, по этому не буду выкидывать ее сюда, могу скинуть в личку кому надо. Сам не тестил.
Клиентской части там не было насколько мне известно. Или я ошибаюсь?
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
DrHolmes Написал:Есть правда еще один вариант на счет "защиты от бота - на клиентском уровне".
Могу и ошибаться или это просто бред но все-же
Не буду вдаваться в теорию, но то как это именно - технически обстоит, могу описать.
Клиент связан с сервером, отправляя пакеты, пакеты это .dll часть из которых привязана к другим клиентским файлам, которые в свою очередь отвечают за передвижение объекта в мире(серверном/клиентском), не знаю на сколько извращенно делать это именно так, а не иначе - но все-же. Существует файл LineageWarrior.u , он тот самый контроллер объектов(правда частично) - но в него можно добавить логическую проверку, которая бы не давала ботом - возможности действовать напрямую/либо так, а не иначе(если их действие подподает под проверку, то пакет не будет отсылаться, либо будет крашить игру), после чего необходимо было бы переписать импорты от оригинальной.dll - в вашу .dll(в нее же и поместить частично/не полностью LineageWarrior.u), и закриптовать все это дело, далее привязать вашу .dll к серверу, таким образом чтобы недостающая часть с сервера - общалась с клиентской, в итоге бот не сможет использоваться с такой .dll, правда врятли это будет надолго, ибо нужно нужно будет снять тот же крипт и переписать импорты.
ЯНП. Честно. А вообще, есть такая вещь, как outgame.
Единственный нормальный способ защититься - защищать адресное пространство клиента (но давайте вспомним, что это невозможно, особенно если что-то ломится через r0 ), контроллить бинарь и другое говно (PE, бин патчинг и т.д., что опять же сложно и требует писать полики со всякими ВМами), плюс полиморфить крипт алгоритм при этом давая знать об этом серверу. Ну как? Не хилая задачка? То-то и оно.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
|