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

  Рет қаралды 27,084

Emerald Powder

Emerald Powder

Күн бұрын

Пікірлер: 64
@Сергей-ы3д8и
@Сергей-ы3д8и 5 жыл бұрын
Очень интересно, спасибо. Теперь буду знать, как хотя бы минимально защитить игру.
@ПиксельАрт-ъ6м
@ПиксельАрт-ъ6м 5 жыл бұрын
Го гайд по серверам, бекенду и защите всей програмы амбарным замком
5 жыл бұрын
8:15 IL2CPP Можно реверснуть в файлы dll, тогда узнать методы хранимые игрой, их названия и offset'ы в памяти. А далее изменением hex кода можно изменить почти всё. Или можно написать код в файле MainActivity если не ошибаюсь, и применяя доп. библиотеки изменять во время игры данные, можно сделать и дополнительное меню для включения и выключения функций.
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Зареверсить можно всё, это правда. Но с il2cpp - гораздо сложнее, без него обычные .NET сборки вообще даже названия многих переменных и методов содержат как в исходном коде. Да, и плюс в Android приложение всегда можно какой-нибудь свой код добавить сбоку, так что тут далеко не 100% защита, всегда если кто-то сильно захочет то разберет игру на части
4 жыл бұрын
@@EmeraldPowder в этом ты прав
@yuriynevazhno2542
@yuriynevazhno2542 4 жыл бұрын
Если умеешь читать машинный код - для тебя все опенсорс)
@zetus6816
@zetus6816 4 жыл бұрын
Я юзаю обфускатор
@JohnSmith-tk2wp
@JohnSmith-tk2wp 4 жыл бұрын
@@EmeraldPowder Сишные либы декомпилируются в IDA, названия переменных восстанавливаются логическим путем и заглядывая в память когда там есть нужные данные, это всё тотже чит енжин, находишь адрес и смотришь реверс кода что там за функции или методы
@n1k1zoomi
@n1k1zoomi 4 жыл бұрын
Спасибо за такие две части! Интересно взломать будет старую игру про Балди (есть в стиме новая версия) и защитить хоть не полностью, но будет защита
@virtualriot4062
@virtualriot4062 5 жыл бұрын
Материал отличный и очень полезный
@negrime
@negrime 5 жыл бұрын
Полезная информация, спасибо !
@developmentstudio9917
@developmentstudio9917 5 жыл бұрын
Помню как писал модификацию для игры.
@Юрий-л3у2и
@Юрий-л3у2и 4 жыл бұрын
Интересно🤔💭
@boristyulkin8951
@boristyulkin8951 5 жыл бұрын
ты офигенен, спасибо за видео
@alekseigolub4336
@alekseigolub4336 4 жыл бұрын
Канал - бомба!
@spasatilex-1280
@spasatilex-1280 5 жыл бұрын
Сделай видео как сделать чтобы игра поддерживала моды
@ТестТест-в3ъ
@ТестТест-в3ъ 4 жыл бұрын
Это не сложна кстати
@ТестТест-в3ъ
@ТестТест-в3ъ 4 жыл бұрын
Я на паскале такой хернёй страдал раньше 😁
@c4llv07e
@c4llv07e 4 жыл бұрын
@@ТестТест-в3ъ Так это паскаль, а тут бинарники из C#. Разница есть
@ТестТест-в3ъ
@ТестТест-в3ъ 4 жыл бұрын
@@c4llv07e в c# тоже можно написать mod lang и будет даже легче
@ТестТест-в3ъ
@ТестТест-в3ъ 4 жыл бұрын
@@c4llv07e да я не профи в c# но точно знаю как написать modlang
@CrafterMinecrafter
@CrafterMinecrafter 3 жыл бұрын
ля, прикольный чел, правда делает мелкие ошибки когда что-то говорит, но это такое
@fliks7662
@fliks7662 4 жыл бұрын
Спасибо конечно за урок, но с моим то кодом не кто не захочет что-то менять))
@_Otets_
@_Otets_ 2 жыл бұрын
Лучшая защита от взлома когда - говнокод!
@Бот-ф7п
@Бот-ф7п 2 жыл бұрын
@@_Otets_ Забавно, но по сути это единственная мера.
@nooftube2541
@nooftube2541 4 жыл бұрын
С il2cpp надо осторожнее быть, что то может и не скомпилиться (например какой нибудь хитрый генерик рефлекшн)
@CrafterMinecrafter
@CrafterMinecrafter 3 жыл бұрын
и да, под винду на игру с системой билда il2cpp очень легко написать чит/мод
@SHILY-PROJECT
@SHILY-PROJECT 5 жыл бұрын
Очень круто и полезно! А если я делаю winForm или WPF, можно так же дельки в машинный код бахнуть и как это сделать?)) Заранее спасибо:3
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Спасибо! С помощью il2cpp - вряд ли, его специально разрабатывали в Unity. Но что-то похожее возможно существует, хотя я искал когда-то давно и не нашёл
@sharpes4253
@sharpes4253 3 жыл бұрын
​@@EmeraldPowder IL2CPU есть.
@edrftgyjhukiwsdferthyedtrf2714
@edrftgyjhukiwsdferthyedtrf2714 2 жыл бұрын
А что делать если декомпилируют через гидру или redare2? Тут уже только молиться
@EmeraldPowder
@EmeraldPowder 2 жыл бұрын
Конечно всегда можно декомпилировать. Но C++ код сам по себе когда ревёрсишь выглядит так, что иногда hello world сложно разобрать, а если это Unity Player, который дёргает код сгенереный из C# кода через IL2CPP, то я думаю там совсем жесть будет
@АлеАле-ч2й
@АлеАле-ч2й 4 жыл бұрын
Вау!
@СинельниковНикита-ъ8я
@СинельниковНикита-ъ8я 4 жыл бұрын
А возможно ли изменит скрипты игры, улучшив её, к примеру я пытаюсь починить игру Rake, и хочу немного изменить скрипты, изменив некоторые параметры, но не понимаю как это сделать пока что
@BigPapochka12
@BigPapochka12 4 жыл бұрын
да dnSpy программа
@GameWorldMrKIller
@GameWorldMrKIller 4 жыл бұрын
Ну типо, большая часть читов (возьмём крупную игру такую, возможно с мутиплеером) работают посредством внедрения dll, можно на c# или на c++ написать алгоритм проверки подключёных dll, на c# видел такую функцию даже, и типо если постороняя dll подключена, то сразу нахер убирать, можно так ?
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Какой алгоритм не пиши, найдётся человек который вырежет его и пропатчит файл игры, так что это имеет смысл только для онлайн проектов, которые хотят защититься хотя бы от половины читов, авторы которых с этим не справятся
@juliap.5375
@juliap.5375 4 жыл бұрын
Не напишешь ты ничего такого. Внедрение может происходит посредством прокси-библиотеки. Нужно ещё и все стандартные проверять. Внедрение может происходит и посредством слайсинга, тогда тебе нужно проверять все заголовки всех функций, а на самом деле все функции :) уже смешно, ты игру пишешь, или антивирус. А ещё внедрение может происходить по методу руткита, когда функции (какие угодно, от списка либ до чтения памяти) уже перехвачены и твоей игре будут подсовывать правильные данные, игра вообще не узнает никогда в каком окружении она работает и как, даже контрольную сумму самой себя не посчитает (можно конечно попробовать делать замеры скорости чтения, типа если контрольный участок читается дольше, то косяк, но это такое себе, больше относится к антиотладочным приемам и таки тоже обходится). В общем, подобный подход может уберечь разве что от ламеров и каких-то стандартных программ-читов. Любой более-менее программист обойдёт всё это на раз-два.
@_Otets_
@_Otets_ 2 жыл бұрын
@soulshardRU Теоритически нельзя, на практике такой херней никто не заморачивается.
@JohnSmith-tk2wp
@JohnSmith-tk2wp 4 жыл бұрын
лол, от перезаписи памяти чит енжином компиляция в машинный код не спасет также как не спасет от IDA там есть и декомпилятор в псевдокод из машинных кодов. А модельки наверняка можно будет ниндзя риппером стащить когда они загружены :) То что ты говоришь в видосе это слишком наивно, нужно строить защиту которая будет детектить доступ к памяти и для взлома к которой понадобится очень дорогой хакер
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Ничего на стороне клиента на 100% не спасёт. Но вот когда я в IDA открываю игру - тут же пугаюсь и закрываю. А в dnSpy - могу разобраться, и даже поменять что-то. Так что уровень защиты il2cpp немного повысит С модельками и текстурами да, их придётся в расшифрованном виде слать на видеокарту, так что тут особо ничего не придумаешь
@kokses3678
@kokses3678 3 жыл бұрын
у меня devx куплен)
@FLDSNeutrality
@FLDSNeutrality 3 жыл бұрын
Три читера поставили диз на видео)
@dea-th661
@dea-th661 5 жыл бұрын
Как зачем (Dev Magic)? Бизнес для школоты. Берешь проект, добавляешь своей рекламы, добавить читы НА взлом бабла в Гангста ГТА эпик варс)) и распространять свой APK, либо на заказ декомпилировать (да, да незаконно, но это просто пример)
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Да, в теории рабочая схема. Никогда кстати об этом не задумывался, обычно тру взломщики, делая патч на деньги и рекламу уберут из игры, перед тем как на 4pda выкладывать
@OlegSimonenko
@OlegSimonenko 3 жыл бұрын
єто очень просто вьіявляется и банится, ведь вставляя свою рекламу тьі даешь возможность по єтой рекламе тебя найти, а все рекламньіе сервисьі забанят тебя по первойже жалобе на всегда..
@nestyyy.4517
@nestyyy.4517 5 жыл бұрын
*Крутой канал! А можешь запустить тутор Как создать Аналог Агарио? Ответь пожалуйста а так круто!*
@EmeraldPowder
@EmeraldPowder 5 жыл бұрын
Спасибо! Про Агарио - идея хорошая, хоть я и сам не сильно шарю в онлайне, но как раз думал разобраться в вопросе и про что-нибудь подобное видео сделать
@nestyyy.4517
@nestyyy.4517 5 жыл бұрын
@@EmeraldPowder *Спасибо большое! Можно и не онлайн если не разбираешся, думаю и так захайпит*
@rayan4ik250
@rayan4ik250 5 жыл бұрын
@@EmeraldPowderчекни photon network
@c4llv07e
@c4llv07e 4 жыл бұрын
IL2CPP - Это же компилятор под линукс в Unity
@EmeraldPowder
@EmeraldPowder 4 жыл бұрын
Он работает подо все платформы, не только под линукс. Формально это наверное транслятор из того во что компилируется C# в C++, чтобы потом компилятором скомпилировать в машинный код целевой платформы.. в общем замудрили они там. Но на удивление это всё работает
@syoritohatsuki
@syoritohatsuki 4 жыл бұрын
Из этого кода я понял одну вещь, C# говно)
@Creativeeart
@Creativeeart 3 жыл бұрын
если ты не очень умный, то это твоя проблема чел
@syoritohatsuki
@syoritohatsuki 3 жыл бұрын
@@Creativeeart Я умный, я уважаю других😏
@АндрейЕвгеньевич-с4у
@АндрейЕвгеньевич-с4у 2 жыл бұрын
Защищай не защищай кому нужно взломают. Те кто над защитой заморочился в 98% использует чужие скрипты. Сейчас современный век существует юредичиская защита лицензии которая на много эфективнее.
@sashakuzin4458
@sashakuzin4458 Жыл бұрын
Не винда, а windows
⚡ Всё про события в Unity 3D
21:38
Emerald Powder
Рет қаралды 108 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 2,2 МЛН
SIZE DOESN’T MATTER @benjaminjiujitsu
00:46
Natan por Aí
Рет қаралды 8 МЛН
Всё про корутины в Unity 3D
13:18
Emerald Powder
Рет қаралды 104 М.
Создаём свой инструмент для Unity 3D
15:52
Emerald Powder
Рет қаралды 42 М.
🖽 Всё про Tilemaps в Unity 3D
20:32
Emerald Powder
Рет қаралды 222 М.
[UNITY3D] Как защитить свою игру от взлома? (PC/Mobile)
11:23
ANDROIDHELPER [UNITY3D and more]
Рет қаралды 31 М.
Star Force - проклятие геймеров нулевых
14:39
Правильный подход к детям
00:18
Beatrise
Рет қаралды 2,2 МЛН