🔑 Взлом игр на Unity 3D и защита от него [Tutorial] - часть 2

  Рет қаралды 26,598

Emerald Powder

Emerald Powder

5 жыл бұрын

Игры созданные в Unity 3D, как и все остальные программы, можно "взломать" - поменять какие-то сохранённые параметры, изменить игровую логику, подменить приходящие от операционной системы данные, и всё на что хватит фантазии. В этой серии видео я покажу несколько методов, которыми создатели читов или просто продвинутые игроки могут попытаться жульничать в вашей игре, и покажу как от них защититься. На 100% исключить возможность читерства в одиночной игре не получится, но усложнить задачу нечестным игрокам можно
В этой второй части я расскажу как игроки могут отредактировать скрипты, изменить игровую логику, и достать или заменить ресурсы, такие как спрайты, текстуры или 3D модели. И конечно же покажу способы защиты от распространенных методов этого
Содержание:
Декомпиляция и редактирование исходников - 0:44
Распаковка и замена asset'ов - 8:19
Ссылка на проект: github.com/emeraldpowder/Chea...
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео

Пікірлер: 64
@user-ub6cv6nk5u
@user-ub6cv6nk5u 4 жыл бұрын
Очень интересно, спасибо. Теперь буду знать, как хотя бы минимально защитить игру.
@user-ce1ic7ix8d
@user-ce1ic7ix8d 4 жыл бұрын
Го гайд по серверам, бекенду и защите всей програмы амбарным замком
@negrime
@negrime 5 жыл бұрын
Полезная информация, спасибо !
@n1k1zoomi
@n1k1zoomi 4 жыл бұрын
Спасибо за такие две части! Интересно взломать будет старую игру про Балди (есть в стиме новая версия) и защитить хоть не полностью, но будет защита
@alekseigolub4336
@alekseigolub4336 4 жыл бұрын
Канал - бомба!
@boristyulkin8951
@boristyulkin8951 5 жыл бұрын
ты офигенен, спасибо за видео
@virtualriot4062
@virtualriot4062 4 жыл бұрын
Материал отличный и очень полезный
@user-om2xj6sk8l
@user-om2xj6sk8l 3 жыл бұрын
Интересно🤔💭
@developmentstudio9917
@developmentstudio9917 4 жыл бұрын
Помню как писал модификацию для игры.
@CrafterMinecrafter
@CrafterMinecrafter 2 жыл бұрын
ля, прикольный чел, правда делает мелкие ошибки когда что-то говорит, но это такое
4 жыл бұрын
8:15 IL2CPP Можно реверснуть в файлы dll, тогда узнать методы хранимые игрой, их названия и offset'ы в памяти. А далее изменением hex кода можно изменить почти всё. Или можно написать код в файле MainActivity если не ошибаюсь, и применяя доп. библиотеки изменять во время игры данные, можно сделать и дополнительное меню для включения и выключения функций.
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Зареверсить можно всё, это правда. Но с il2cpp - гораздо сложнее, без него обычные .NET сборки вообще даже названия многих переменных и методов содержат как в исходном коде. Да, и плюс в Android приложение всегда можно какой-нибудь свой код добавить сбоку, так что тут далеко не 100% защита, всегда если кто-то сильно захочет то разберет игру на части
4 жыл бұрын
@@EmeraldPowder в этом ты прав
@yuriynevazhno2542
@yuriynevazhno2542 4 жыл бұрын
Если умеешь читать машинный код - для тебя все опенсорс)
@zetus6816
@zetus6816 4 жыл бұрын
Я юзаю обфускатор
@JohnSmith-tk2wp
@JohnSmith-tk2wp 3 жыл бұрын
@@EmeraldPowder Сишные либы декомпилируются в IDA, названия переменных восстанавливаются логическим путем и заглядывая в память когда там есть нужные данные, это всё тотже чит енжин, находишь адрес и смотришь реверс кода что там за функции или методы
@nooftube2541
@nooftube2541 3 жыл бұрын
С il2cpp надо осторожнее быть, что то может и не скомпилиться (например какой нибудь хитрый генерик рефлекшн)
@user-bc8pr5up2r
@user-bc8pr5up2r 4 жыл бұрын
Вау!
@SHILY-PROJECT
@SHILY-PROJECT 4 жыл бұрын
Очень круто и полезно! А если я делаю winForm или WPF, можно так же дельки в машинный код бахнуть и как это сделать?)) Заранее спасибо:3
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Спасибо! С помощью il2cpp - вряд ли, его специально разрабатывали в Unity. Но что-то похожее возможно существует, хотя я искал когда-то давно и не нашёл
@sharpes4253
@sharpes4253 3 жыл бұрын
​@@EmeraldPowder IL2CPU есть.
@fliks7662
@fliks7662 4 жыл бұрын
Спасибо конечно за урок, но с моим то кодом не кто не захочет что-то менять))
@_Otets_
@_Otets_ 2 жыл бұрын
Лучшая защита от взлома когда - говнокод!
@user-mt6rr7oi2n
@user-mt6rr7oi2n Жыл бұрын
@@_Otets_ Забавно, но по сути это единственная мера.
@CrafterMinecrafter
@CrafterMinecrafter 2 жыл бұрын
и да, под винду на игру с системой билда il2cpp очень легко написать чит/мод
@user-rv1dd9pu6l
@user-rv1dd9pu6l 4 жыл бұрын
А возможно ли изменит скрипты игры, улучшив её, к примеру я пытаюсь починить игру Rake, и хочу немного изменить скрипты, изменив некоторые параметры, но не понимаю как это сделать пока что
@_________5287
@_________5287 4 жыл бұрын
да dnSpy программа
@GameWorldMrKIller
@GameWorldMrKIller 4 жыл бұрын
Ну типо, большая часть читов (возьмём крупную игру такую, возможно с мутиплеером) работают посредством внедрения dll, можно на c# или на c++ написать алгоритм проверки подключёных dll, на c# видел такую функцию даже, и типо если постороняя dll подключена, то сразу нахер убирать, можно так ?
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Какой алгоритм не пиши, найдётся человек который вырежет его и пропатчит файл игры, так что это имеет смысл только для онлайн проектов, которые хотят защититься хотя бы от половины читов, авторы которых с этим не справятся
@juliap.5375
@juliap.5375 4 жыл бұрын
Не напишешь ты ничего такого. Внедрение может происходит посредством прокси-библиотеки. Нужно ещё и все стандартные проверять. Внедрение может происходит и посредством слайсинга, тогда тебе нужно проверять все заголовки всех функций, а на самом деле все функции :) уже смешно, ты игру пишешь, или антивирус. А ещё внедрение может происходить по методу руткита, когда функции (какие угодно, от списка либ до чтения памяти) уже перехвачены и твоей игре будут подсовывать правильные данные, игра вообще не узнает никогда в каком окружении она работает и как, даже контрольную сумму самой себя не посчитает (можно конечно попробовать делать замеры скорости чтения, типа если контрольный участок читается дольше, то косяк, но это такое себе, больше относится к антиотладочным приемам и таки тоже обходится). В общем, подобный подход может уберечь разве что от ламеров и каких-то стандартных программ-читов. Любой более-менее программист обойдёт всё это на раз-два.
@_Otets_
@_Otets_ 2 жыл бұрын
@soulshardRU Теоритически нельзя, на практике такой херней никто не заморачивается.
@spasatilex-1280
@spasatilex-1280 5 жыл бұрын
Сделай видео как сделать чтобы игра поддерживала моды
@user-dc3pk2kp4e
@user-dc3pk2kp4e 3 жыл бұрын
Это не сложна кстати
@user-dc3pk2kp4e
@user-dc3pk2kp4e 3 жыл бұрын
Я на паскале такой хернёй страдал раньше 😁
@c4llv07e
@c4llv07e 3 жыл бұрын
@@user-dc3pk2kp4e Так это паскаль, а тут бинарники из C#. Разница есть
@user-dc3pk2kp4e
@user-dc3pk2kp4e 3 жыл бұрын
@@c4llv07e в c# тоже можно написать mod lang и будет даже легче
@user-dc3pk2kp4e
@user-dc3pk2kp4e 3 жыл бұрын
@@c4llv07e да я не профи в c# но точно знаю как написать modlang
@kokses3678
@kokses3678 3 жыл бұрын
у меня devx куплен)
@edrftgyjhukiwsdferthyedtrf2714
@edrftgyjhukiwsdferthyedtrf2714 Жыл бұрын
А что делать если декомпилируют через гидру или redare2? Тут уже только молиться
@EmeraldPowder
@EmeraldPowder Жыл бұрын
Конечно всегда можно декомпилировать. Но C++ код сам по себе когда ревёрсишь выглядит так, что иногда hello world сложно разобрать, а если это Unity Player, который дёргает код сгенереный из C# кода через IL2CPP, то я думаю там совсем жесть будет
@FLDSNeutrality
@FLDSNeutrality 3 жыл бұрын
Три читера поставили диз на видео)
@JohnSmith-tk2wp
@JohnSmith-tk2wp 3 жыл бұрын
лол, от перезаписи памяти чит енжином компиляция в машинный код не спасет также как не спасет от IDA там есть и декомпилятор в псевдокод из машинных кодов. А модельки наверняка можно будет ниндзя риппером стащить когда они загружены :) То что ты говоришь в видосе это слишком наивно, нужно строить защиту которая будет детектить доступ к памяти и для взлома к которой понадобится очень дорогой хакер
@EmeraldPowder
@EmeraldPowder 3 жыл бұрын
Ничего на стороне клиента на 100% не спасёт. Но вот когда я в IDA открываю игру - тут же пугаюсь и закрываю. А в dnSpy - могу разобраться, и даже поменять что-то. Так что уровень защиты il2cpp немного повысит С модельками и текстурами да, их придётся в расшифрованном виде слать на видеокарту, так что тут особо ничего не придумаешь
@dea-th661
@dea-th661 4 жыл бұрын
Как зачем (Dev Magic)? Бизнес для школоты. Берешь проект, добавляешь своей рекламы, добавить читы НА взлом бабла в Гангста ГТА эпик варс)) и распространять свой APK, либо на заказ декомпилировать (да, да незаконно, но это просто пример)
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Да, в теории рабочая схема. Никогда кстати об этом не задумывался, обычно тру взломщики, делая патч на деньги и рекламу уберут из игры, перед тем как на 4pda выкладывать
@OlegSimonenko
@OlegSimonenko 2 жыл бұрын
єто очень просто вьіявляется и банится, ведь вставляя свою рекламу тьі даешь возможность по єтой рекламе тебя найти, а все рекламньіе сервисьі забанят тебя по первойже жалобе на всегда..
@nestyyy.4517
@nestyyy.4517 5 жыл бұрын
*Крутой канал! А можешь запустить тутор Как создать Аналог Агарио? Ответь пожалуйста а так круто!*
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Спасибо! Про Агарио - идея хорошая, хоть я и сам не сильно шарю в онлайне, но как раз думал разобраться в вопросе и про что-нибудь подобное видео сделать
@nestyyy.4517
@nestyyy.4517 5 жыл бұрын
@@EmeraldPowder *Спасибо большое! Можно и не онлайн если не разбираешся, думаю и так захайпит*
@rayan4ik250
@rayan4ik250 5 жыл бұрын
@@EmeraldPowderчекни photon network
@c4llv07e
@c4llv07e 3 жыл бұрын
IL2CPP - Это же компилятор под линукс в Unity
@EmeraldPowder
@EmeraldPowder 3 жыл бұрын
Он работает подо все платформы, не только под линукс. Формально это наверное транслятор из того во что компилируется C# в C++, чтобы потом компилятором скомпилировать в машинный код целевой платформы.. в общем замудрили они там. Но на удивление это всё работает
@user-ou9rm3hb4f
@user-ou9rm3hb4f 2 жыл бұрын
Защищай не защищай кому нужно взломают. Те кто над защитой заморочился в 98% использует чужие скрипты. Сейчас современный век существует юредичиская защита лицензии которая на много эфективнее.
@syoritohatsuki
@syoritohatsuki 3 жыл бұрын
Из этого кода я понял одну вещь, C# говно)
@Creativeeart
@Creativeeart 3 жыл бұрын
если ты не очень умный, то это твоя проблема чел
@syoritohatsuki
@syoritohatsuki 3 жыл бұрын
@@Creativeeart Я умный, я уважаю других😏
@sashakuzin4458
@sashakuzin4458 Жыл бұрын
Не винда, а windows
WHO DO I LOVE MOST?
00:22
dednahype
Рет қаралды 23 МЛН
Homemade Professional Spy Trick To Unlock A Phone 🔍
00:55
Crafty Champions
Рет қаралды 57 МЛН
Testing multiplayer in my Unity Minecraft clone
0:18
Boss Sloth
Рет қаралды 9 М.
🎲 Как работает Random в играх
8:45
Emerald Powder
Рет қаралды 137 М.
😠НЕ ПОНЯЛ! А ГДЕ МЕГАЯЩИКИ? Вот КАК Их Получить
9:16