📖 учебник Что такое IL2CPP? (Информация/Руководство)

Sbenny.com доверяют 1,313,253 XNUMX XNUMX счастливых пользователей с 2014 года.
Зарегистрируйтесь

LolHappy

В любви Уровень 4️⃣
Активный пользователь
Участник 5 лет
Перво наперво:
IL (средний язык) 2 (TO) CPP (C++)
Это преобразование/генерация кода C# в Unity в код C++, сохраненный в виде общей библиотеки (.so).

Причина преобразования кода C# в C++ с помощью Unity заключается в том, что C# является однопоточным, а код C++ — многопоточным (подумайте об этом как о множественных задачах против одиночных — по одной задаче за раз), что делает C++ быстрее.
И это также потому, что Unity написана (программа) на C++, а не на C#.

MSIL/CIL — это язык ассемблера. И Java, и C# используют MSIL/CIL (то же самое, но CIL — это Common Intermediate Language, а MSIL — это старое название — Microsoft Intermediate Language). C# и Java являются более удобочитаемыми формами ассемблерной версии CIL.

Если вы сделаете Меню MOD для C# вы можете закодировать его в C++ с помощью IL2CPP, но вы НЕ будете уверены, что он будет работать с кодом. Причина в том, что код может отличаться при генерации. По этой причине, когда вы выполняете обратный IL2CPP (например, Il2cppDumper), вы не можете просто запустить игру по мере ее создания — вы не можете быть уверены, что она сгенерировала тот же код, что и исходный код.
Даже если вы снова пропустите его через IL2CPP, чтобы преобразовать его в C++, он, вероятно, не будет таким же.

Вот почему обычно предпочтительнее использовать dnSpy (просмотр кода файла DLL C#) и редактировать с помощью шестнадцатеричных редакторов, или есть метод использования IDA для просмотра кода сборки IL.

Причина, по которой вам может быть полезно потратить время на изучение IL, заключается в том, чтобы использовать IDA в качестве вторичной ссылки, потому что в долгосрочной перспективе может быть проще использовать его для сравнения с Hex, чем dnSpy, где вам нужно будет его преобразовать. (ОСОБЕННО, ЕСЛИ IL2CPP DUMPER НЕ МОЖЕТ СБРОСИТЬ DLL!!!)
Сообщение автоматически объединяется:

Я сделал это, потому что мне было скучно
 
Топовое