Клиентский античит

74
0
Давно задумывался над созданием клиентского античита, в последнее время судьба привела на этот форум, и уже становится более-менее понятно, как это можно организовать. В общем, идея такая - создаётся античит, прячется в различные классы, делается проверка - например отправляется хеш, умноженный на что-либо, при отправке опять же маскировать, например под передачу информации плагину никому неизвестного предназначения. Знаю, что клиентский античит бред, но опять же кто знает сразу, что он вообще есть? При использовании читов и киллаур сразу будет посылаться информация на сервер и будет бан по железу. Как результат, не будет всеми любимых откидываний назад. Игроки будут думать, что стоит обычный античит. Что думаете по этому поводу?
 
>>передачу информации плагину
Из тебя дерьмовый криптограф.Ты даже не сможешь хеш этот получить.Без форума,гуглить ты явно не умеешь
P.S.Если грубо написано,то мне пофиг,такие новички уже надоели.Я сам тоже защиту ухтиахти не напишу,но хотя бы про md5 погуглю.А печёт из-за того,что ты требуешь нас написать тебе античит(дада,я догадался)
 
krok написал(а):
А печёт из-за того,что ты требуешь нас написать тебе античит(дада,я догадался)
У тебя печет почем зря. Человек просто хочет обсудить.

  • Идея с модом / плагином херовая, ибо для деобфускации Java уже сделали столько софта, что твой плагин или мод через неделю похакают профессионалы из 7А класса;
  • Для клиентского античита важны 2 вещи: сложность изучения как он работает и шифрование данных;
  • ИМХО, необходимо использовать те библиотеки, которые требуют не интерпретатора, а компилятора. (намекаю на C++);
  • Моментальный бан - это старая практика. Думай современнее, думай как Valve. Но помни: чем лучше античит, тем меньше людей у тебя на проекте. Начинать стоит вообще без античита,с последующим вайпом и его установкой.
 
Обсудить да,но не как в его предыдущей теме,где он долго просил помочь с тиками(в учебнике есть,да и на его скрине был ответ).По поводу темы:это нереально,взломать можно всё.Я бы лучше модераторов навешал,чтобы следить за игроками.Пример:ты отсылаешь хеш.При помощи Wireshark Вася Пупкин копирует хеш,вставляет в декомпилированный код и меняет сам файл(а прога думает,что хеш нужный)
 
krok написал(а):
Вася Пупкин копирует хеш,вставляет в декомпилированный код и меняет сам файл(а прога думает,что хеш нужный)
Отправляя что-либо клиенту , я не только зашифрую это, но и снабжу алгоритм постоянно меняющимся ключом для дешифровки.
Получится классический черный ящик : на входе мусор - и на выходе мусор. Останется только декомпилировать и деобфусцировать код dll, что умеют немногие.

И по поводу "взломать можно все" : КО-КО-КО КУКАРЕКУ ПОК-ПОК. Да, взломать можно даже крипто-эмиттерную защиту пусковых установок Тополь, но будет ли стоить игра свеч? Большинство просто забъет на твой античит ввиду сложностей со взломом, и ты знаешь это.
 
ИМХО, если у тебя не многотысячный онлайн, то стоит прикрутить хоть какую-нибудь защиту от читеров, главное - свою. Античит в популярном лаунчере взломают быстро, а вот на единственный проект с такой защитой скорее всего забьют. Ну а если сломают и распространят чит - меняешь защиту на такую же плохую, но другую. Не вижу смысла думать над идеальным античитом, такого все равно не бывает.
 
Античит в популярном лаунчере взломают быстро
Это да,я Сашка,например,взламывал.Я считаю,что запариваться не стоит,поэтому плюсую глуми.А если хочешь хорошую защиту,надо гуглить,там точно есть.
Останется только декомпилировать и деобфусцировать код dll, что умеют немногие
То же самое,что и с джава-кодом,но другой декомпилятор
 
krok написал(а):
То же самое,что и с джава-кодом,но другой декомпилятор

WinAPI C++ :
Код:
if ( RegOpenKeyExA( HKEY_CLASSES_ROOT, "CLSID\\{ADB880A6-D8FF-11CF-9377-00AA003B7A11}\\InprocServer32", 0, 0x20019u, &hKey) )
{
    result = 0;
}
else
{
    cbData = 260;
    if ( !RegQueryValueExA(hKey, ValueName, 0, 0, lpData, &cbData) ) v1 = 1;
    RegCloseKey(hKey);
    result = v1;
}
return result;

Результат работы дизассемблера:
Код:
.text:0100318F push ebp
.text:01003190 mov ebp, esp
.text:01003192 push ecx
.text:01003193 push ecx
.text:01003194 lea eax, [ebp+hKey]
.text:01003197 push esi
.text:01003198 xor esi, esi
.text:0100319A push eax ; phkResult
.text:0100319B push 20019h ; samDesired
.text:010031A0 push esi ; ulOptions
.text:010031A1 push offset SubKey ; lpSubKey
.text:010031A6 push 80000000h ; hKey
.text:010031AB call ds:RegOpenKeyExA
.text:010031B1 test eax, eax
.text:010031B3 jnz short loc_10031E7
.text:010031B5 lea eax, [ebp+cbData]
.text:010031B8 mov [ebp+cbData], 104h
.text:010031BF push eax ; lpcbData
.text:010031C0 push [ebp+lpData] ; lpData
.text:010031C3 push esi ; lpType
.text:010031C4 push esi ; lpReserved
.text:010031C5 push offset ValueName ; lpValueName
.text:010031CA push [ebp+hKey] ; hKey
.text:010031CD call ds:RegQueryValueExA
.text:010031D3 test eax, eax
.text:010031D5 jnz short loc_10031DA
.text:010031D7 push 1
.text:010031D9 pop esi
.text:010031DA
.text:010031DA loc_10031DA: ; CODE XREF: sub_100318F+46?j
.text:010031DA push [ebp+hKey] ; hKey
.text:010031DD call ds:RegCloseKey
.text:010031E3 mov eax, esi
.text:010031E5 jmp short loc_10031E9
.text:010031E7
.text:010031E7 loc_10031E7: ; CODE XREF: sub_100318F+24?j
.text:010031E7 xor eax, eax
.text:010031E9
.text:010031E9 loc_10031E9: ; CODE XREF: sub_100318F+56?j
.text:010031E9 pop esi
.text:010031EA leave
.text:010031EB retn 4

Результат превзошел все ожидания. Разобраться элементарно.

Какой-то сайт написал(а):
Если вы думаете, что с помощью декомпилятора вы получите обратно красивый код на С - вы будете сильно разочарованы.  В лучшем случае на выходе будет общая (и довольно грубая) структура программы, в худшем - только имена функций и много мусора.

Скорее всего, ни один декомпилятор не выдаст вам сразу компилируемый код. Придётся потратить порядком времени и сил, чтобы это месиво превратить в код, который можно читать (желательно, не только компилятору).
 
Дело в том, что вайп делать я могу только в самых критичных случаях, это связано с особенностью сервера. К тому же я тоже склонен считать, что кому мой проект будет нужен, чтобы ради него париться, пытаться обойти античит. К тому же, даже если кто и обойдет его, это не останется незамеченным, а вот куда хуже ситуация, когда всех постоянно откидывает и сервер лагает.
P.S. Я сам за это браться и не буду)
 
Назад
Сверху