Гайд How to update offsets for Rust "IL2CPPDumper и GOM"

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
8 Июн 2019
Сообщения
148
Реакции
21
Шалом сладенькие.
Ну что же пошли В старые добрые времена, когда Rust использовал mono, было легко, получить какой либо оффсет. Тупо переместив Assembly-CSharp.dll в dnSpy.
Теперь же почти все используют IL2CPP, который, в конце концов, не так уж и плох.
Сначала вы должны скачать "IL2CPPDumper".
После этого откройте его, и он предложит вам диалоговое окно. Там все просто берем открываем GameAssembly.dll ну и RustClient_Data->il2cpp_data->Metadata и выбрать global-metadata.dat Тем того как достать оффсет с помощью "IL2CPPDumper" очень и очень много.
Если вы все таки не знаете как достать Metadata тогда вот вам нужно перейти в каталог Rust и найти файл с именем "GameAssembly.dll"! Это должно быть легко, поскольку GameAssembly находится в той же папке, что и исполняемые файлы Rust.
После выбора "IL2CPPDumper" он снова предложит вам диалоговое окно с файлом, и теперь вам нужно перейти в *главную папку rust* -> RustClient_Data-> il2cpp_data-> Metadata и выбрать файл global-metadata.dat все больше ничего не нужно жмем дамп.
После этого IL2CPP загрузится на некоторое время, и вы найдете папку под названием «DummyDLL» в том же каталоге, в котором вы открыли дампер.
Там найдите Assembly-CSharp.dll и откройте его в редакторе сборки .NET.
На ваш выбор. Я рекомендую dnSpy, ilSpy или dotPeek.
Теперь просто найдите то, что вы ищете, например, «здоровье», и когда оно появится, просто щелкните по нему, и вы должны увидеть «FieldOffset». Это то ваш оффсет, которое вы ищете!.
Часть 2: BaseNetworkable.
Это легко в том же каталоге, что и дампер а точней там же где и папка «DummyDLL».
Вы должны найти название script.json. Откройте его в блокноте, нажмите Ctrl + F и введите basenetworkable_c (basenetworkable_typeinfo делает то же самое). После того, как вы его найдете, он должен выглядеть примерно так:
{
"Address": 50303664,
"Name": "BaseNetworkable_TypeInfo",
"Signature": "BaseNetworkable_c *"
}.
Теперь просто возьмите адрес и поместите его в преобразователь DecimalToHex . После этого просто добавьте 0x перед выходом (в моем случае это будет 0x2FF92B0).
И поздравляю, вы получили свой зачет!
Часть 3: GameObjectManager
Это немного сложно. Но вы все еще можете это сделать!
Загрузите Unity (игровой движок) с модулем IL2CPP, затем создайте приложение с включенным PDB.
После этого откройте IDA (я думаю, что бесплатное программное обеспечение IDA тоже поможет, просто найдите IDA_Interactive Disassembler и загрузите бесплатную версию) и выполните поиск GameObject :: CleanupClass, вы сможете найти там GOM.
Думаю уроки по IDA вы тоже найдете.
Ну что же такая вот дичь Спасибо что прочли.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Круто конечно, но зачем ты видео @DarwinRoot пересказал?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
скопировано с другого форума
Снимок экрана (10).png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу