лол, от перезаписи памяти чит енжином компиляция в машинный код не спасет также как не спасет от IDA там есть и декомпилятор в псевдокод из машинных кодов. А модельки наверняка можно будет ниндзя риппером стащить когда они загружены :) То что ты говоришь в видосе это слишком наивно, нужно строить защиту которая будет детектить доступ к памяти и для взлома к которой понадобится очень дорогой хакер
Ничего на стороне клиента на 100% не спасёт. Но вот когда я в IDA открываю игру - тут же пугаюсь и закрываю. А в dnSpy - могу разобраться, и даже поменять что-то. Так что уровень защиты il2cpp немного повысит С модельками и текстурами да, их придётся в расшифрованном виде слать на видеокарту, так что тут особо ничего не придумаешь
ля, прикольный чел, правда делает мелкие ошибки когда что-то говорит, но это такое
4 года назад+4
8:15 IL2CPP Можно реверснуть в файлы dll, тогда узнать методы хранимые игрой, их названия и offset'ы в памяти. А далее изменением hex кода можно изменить почти всё. Или можно написать код в файле MainActivity если не ошибаюсь, и применяя доп. библиотеки изменять во время игры данные, можно сделать и дополнительное меню для включения и выключения функций.
Зареверсить можно всё, это правда. Но с il2cpp - гораздо сложнее, без него обычные .NET сборки вообще даже названия многих переменных и методов содержат как в исходном коде. Да, и плюс в Android приложение всегда можно какой-нибудь свой код добавить сбоку, так что тут далеко не 100% защита, всегда если кто-то сильно захочет то разберет игру на части
@@EmeraldPowder Сишные либы декомпилируются в IDA, названия переменных восстанавливаются логическим путем и заглядывая в память когда там есть нужные данные, это всё тотже чит енжин, находишь адрес и смотришь реверс кода что там за функции или методы
Конечно всегда можно декомпилировать. Но C++ код сам по себе когда ревёрсишь выглядит так, что иногда hello world сложно разобрать, а если это Unity Player, который дёргает код сгенереный из C# кода через IL2CPP, то я думаю там совсем жесть будет
А возможно ли изменит скрипты игры, улучшив её, к примеру я пытаюсь починить игру Rake, и хочу немного изменить скрипты, изменив некоторые параметры, но не понимаю как это сделать пока что
Как зачем (Dev Magic)? Бизнес для школоты. Берешь проект, добавляешь своей рекламы, добавить читы НА взлом бабла в Гангста ГТА эпик варс)) и распространять свой APK, либо на заказ декомпилировать (да, да незаконно, но это просто пример)
Да, в теории рабочая схема. Никогда кстати об этом не задумывался, обычно тру взломщики, делая патч на деньги и рекламу уберут из игры, перед тем как на 4pda выкладывать
єто очень просто вьіявляется и банится, ведь вставляя свою рекламу тьі даешь возможность по єтой рекламе тебя найти, а все рекламньіе сервисьі забанят тебя по первойже жалобе на всегда..
Ну типо, большая часть читов (возьмём крупную игру такую, возможно с мутиплеером) работают посредством внедрения dll, можно на c# или на c++ написать алгоритм проверки подключёных dll, на c# видел такую функцию даже, и типо если постороняя dll подключена, то сразу нахер убирать, можно так ?
Какой алгоритм не пиши, найдётся человек который вырежет его и пропатчит файл игры, так что это имеет смысл только для онлайн проектов, которые хотят защититься хотя бы от половины читов, авторы которых с этим не справятся
Не напишешь ты ничего такого. Внедрение может происходит посредством прокси-библиотеки. Нужно ещё и все стандартные проверять. Внедрение может происходит и посредством слайсинга, тогда тебе нужно проверять все заголовки всех функций, а на самом деле все функции :) уже смешно, ты игру пишешь, или антивирус. А ещё внедрение может происходить по методу руткита, когда функции (какие угодно, от списка либ до чтения памяти) уже перехвачены и твоей игре будут подсовывать правильные данные, игра вообще не узнает никогда в каком окружении она работает и как, даже контрольную сумму самой себя не посчитает (можно конечно попробовать делать замеры скорости чтения, типа если контрольный участок читается дольше, то косяк, но это такое себе, больше относится к антиотладочным приемам и таки тоже обходится). В общем, подобный подход может уберечь разве что от ламеров и каких-то стандартных программ-читов. Любой более-менее программист обойдёт всё это на раз-два.
Спасибо! С помощью il2cpp - вряд ли, его специально разрабатывали в Unity. Но что-то похожее возможно существует, хотя я искал когда-то давно и не нашёл
Защищай не защищай кому нужно взломают. Те кто над защитой заморочился в 98% использует чужие скрипты. Сейчас современный век существует юредичиская защита лицензии которая на много эфективнее.
Он работает подо все платформы, не только под линукс. Формально это наверное транслятор из того во что компилируется C# в C++, чтобы потом компилятором скомпилировать в машинный код целевой платформы.. в общем замудрили они там. Но на удивление это всё работает
Спасибо! Про Агарио - идея хорошая, хоть я и сам не сильно шарю в онлайне, но как раз думал разобраться в вопросе и про что-нибудь подобное видео сделать
Го гайд по серверам, бекенду и защите всей програмы амбарным замком
Сделай видео как сделать чтобы игра поддерживала моды
Это не сложна кстати
Я на паскале такой хернёй страдал раньше 😁
@@ТестТест-в3ъ Так это паскаль, а тут бинарники из C#. Разница есть
@@c4llv07e в c# тоже можно написать mod lang и будет даже легче
@@c4llv07e да я не профи в c# но точно знаю как написать modlang
Очень интересно, спасибо. Теперь буду знать, как хотя бы минимально защитить игру.
Материал отличный и очень полезный
Помню как писал модификацию для игры.
Спасибо конечно за урок, но с моим то кодом не кто не захочет что-то менять))
Лучшая защита от взлома когда - говнокод!
@@_Otets_ Забавно, но по сути это единственная мера.
Спасибо за такие две части! Интересно взломать будет старую игру про Балди (есть в стиме новая версия) и защитить хоть не полностью, но будет защита
лол, от перезаписи памяти чит енжином компиляция в машинный код не спасет также как не спасет от IDA
там есть и декомпилятор в псевдокод из машинных кодов.
А модельки наверняка можно будет ниндзя риппером стащить когда они загружены :)
То что ты говоришь в видосе это слишком наивно, нужно строить защиту которая будет детектить доступ к памяти и для взлома к которой понадобится очень дорогой хакер
Ничего на стороне клиента на 100% не спасёт. Но вот когда я в IDA открываю игру - тут же пугаюсь и закрываю. А в dnSpy - могу разобраться, и даже поменять что-то. Так что уровень защиты il2cpp немного повысит
С модельками и текстурами да, их придётся в расшифрованном виде слать на видеокарту, так что тут особо ничего не придумаешь
и да, под винду на игру с системой билда il2cpp очень легко написать чит/мод
ля, прикольный чел, правда делает мелкие ошибки когда что-то говорит, но это такое
8:15 IL2CPP Можно реверснуть в файлы dll, тогда узнать методы хранимые игрой, их названия и offset'ы в памяти. А далее изменением hex кода можно изменить почти всё. Или можно написать код в файле MainActivity если не ошибаюсь, и применяя доп. библиотеки изменять во время игры данные, можно сделать и дополнительное меню для включения и выключения функций.
Зареверсить можно всё, это правда. Но с il2cpp - гораздо сложнее, без него обычные .NET сборки вообще даже названия многих переменных и методов содержат как в исходном коде. Да, и плюс в Android приложение всегда можно какой-нибудь свой код добавить сбоку, так что тут далеко не 100% защита, всегда если кто-то сильно захочет то разберет игру на части
@@EmeraldPowder в этом ты прав
Если умеешь читать машинный код - для тебя все опенсорс)
Я юзаю обфускатор
@@EmeraldPowder Сишные либы декомпилируются в IDA, названия переменных восстанавливаются логическим путем и заглядывая в память когда там есть нужные данные, это всё тотже чит енжин, находишь адрес и смотришь реверс кода что там за функции или методы
С il2cpp надо осторожнее быть, что то может и не скомпилиться (например какой нибудь хитрый генерик рефлекшн)
А что делать если декомпилируют через гидру или redare2? Тут уже только молиться
Конечно всегда можно декомпилировать. Но C++ код сам по себе когда ревёрсишь выглядит так, что иногда hello world сложно разобрать, а если это Unity Player, который дёргает код сгенереный из C# кода через IL2CPP, то я думаю там совсем жесть будет
Три читера поставили диз на видео)
у меня devx куплен)
А возможно ли изменит скрипты игры, улучшив её, к примеру я пытаюсь починить игру Rake, и хочу немного изменить скрипты, изменив некоторые параметры, но не понимаю как это сделать пока что
да dnSpy программа
Как зачем (Dev Magic)? Бизнес для школоты. Берешь проект, добавляешь своей рекламы, добавить читы НА взлом бабла в Гангста ГТА эпик варс)) и распространять свой APK, либо на заказ декомпилировать (да, да незаконно, но это просто пример)
Да, в теории рабочая схема. Никогда кстати об этом не задумывался, обычно тру взломщики, делая патч на деньги и рекламу уберут из игры, перед тем как на 4pda выкладывать
єто очень просто вьіявляется и банится, ведь вставляя свою рекламу тьі даешь возможность по єтой рекламе тебя найти, а все рекламньіе сервисьі забанят тебя по первойже жалобе на всегда..
Интересно🤔💭
Ну типо, большая часть читов (возьмём крупную игру такую, возможно с мутиплеером) работают посредством внедрения dll, можно на c# или на c++ написать алгоритм проверки подключёных dll, на c# видел такую функцию даже, и типо если постороняя dll подключена, то сразу нахер убирать, можно так ?
Какой алгоритм не пиши, найдётся человек который вырежет его и пропатчит файл игры, так что это имеет смысл только для онлайн проектов, которые хотят защититься хотя бы от половины читов, авторы которых с этим не справятся
Не напишешь ты ничего такого. Внедрение может происходит посредством прокси-библиотеки. Нужно ещё и все стандартные проверять. Внедрение может происходит и посредством слайсинга, тогда тебе нужно проверять все заголовки всех функций, а на самом деле все функции :) уже смешно, ты игру пишешь, или антивирус. А ещё внедрение может происходить по методу руткита, когда функции (какие угодно, от списка либ до чтения памяти) уже перехвачены и твоей игре будут подсовывать правильные данные, игра вообще не узнает никогда в каком окружении она работает и как, даже контрольную сумму самой себя не посчитает (можно конечно попробовать делать замеры скорости чтения, типа если контрольный участок читается дольше, то косяк, но это такое себе, больше относится к антиотладочным приемам и таки тоже обходится).
В общем, подобный подход может уберечь разве что от ламеров и каких-то стандартных программ-читов. Любой более-менее программист обойдёт всё это на раз-два.
@soulshardRU Теоритически нельзя, на практике такой херней никто не заморачивается.
Полезная информация, спасибо !
Канал - бомба!
ты офигенен, спасибо за видео
Вау!
Очень круто и полезно!
А если я делаю winForm или WPF, можно так же дельки в машинный код бахнуть и как это сделать?)) Заранее спасибо:3
Спасибо!
С помощью il2cpp - вряд ли, его специально разрабатывали в Unity. Но что-то похожее возможно существует, хотя я искал когда-то давно и не нашёл
@@EmeraldPowder IL2CPU есть.
Из этого кода я понял одну вещь, C# говно)
если ты не очень умный, то это твоя проблема чел
@@Creativeeart Я умный, я уважаю других😏
Защищай не защищай кому нужно взломают. Те кто над защитой заморочился в 98% использует чужие скрипты. Сейчас современный век существует юредичиская защита лицензии которая на много эфективнее.
IL2CPP - Это же компилятор под линукс в Unity
Он работает подо все платформы, не только под линукс. Формально это наверное транслятор из того во что компилируется C# в C++, чтобы потом компилятором скомпилировать в машинный код целевой платформы.. в общем замудрили они там. Но на удивление это всё работает
*Крутой канал! А можешь запустить тутор Как создать Аналог Агарио? Ответь пожалуйста а так круто!*
Спасибо! Про Агарио - идея хорошая, хоть я и сам не сильно шарю в онлайне, но как раз думал разобраться в вопросе и про что-нибудь подобное видео сделать
@@EmeraldPowder *Спасибо большое! Можно и не онлайн если не разбираешся, думаю и так захайпит*
@@EmeraldPowderчекни photon network
Не винда, а windows