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

Начинающий
Статус
Оффлайн
Регистрация
8 Июн 2019
Сообщения
147
Реакции[?]
21
Поинты[?]
0
Шалом сладенькие.
Ну что же пошли В старые добрые времена, когда 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 вы тоже найдете.
Ну что же такая вот дичь Спасибо что прочли.
 
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
863
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Круто конечно, но зачем ты видео DarwinRoot пересказал?
 
Начинающий
Статус
Оффлайн
Регистрация
8 Июн 2019
Сообщения
147
Реакции[?]
21
Поинты[?]
0
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
863
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
8 Июн 2019
Сообщения
147
Реакции[?]
21
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2021
Сообщения
33
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
▃ ▄ ▅ ▆ ▇ █ █ ▇ ▆ ▅ ▄ ▃
Забаненный
Статус
Оффлайн
Регистрация
29 Дек 2020
Сообщения
264
Реакции[?]
158
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу