• Ну и что вы думаете? Мы взяли и создали свой собственный чат, с блекджеком и шлюхами, теперь все легенды в одном месте: даже те 1000 человек, которых мы забанили в старом чате 🫡 Будем публиковать там очень интересные подробности нового дизайна форума, oh yeah

    Вступай и становись легендой, пока это не стало поздно: жмякай на меня, ток не сильно(

JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.

Гайд Находим оффсеты после добавления хэширования

Начинающий
Статус
Оффлайн
Регистрация
27 Сен 2017
Сообщения
26
Реакции[?]
5
Поинты[?]
3K
Эта тема будет частично пересказана с забугорного форума.

Всем привет! Сегодня я расскажу о том, как реверсить оффсеты в игре, используя Il2CppDumper. Если вы не знакомы с реверс-инженерией, не переживайте — я постараюсь объяснить все понятия доступным языком.

Для начала, нам нужно скачать последний коммит
Пожалуйста, авторизуйтесь для просмотра ссылки.
и скомпилировать её вручную. После этого, извлекаем необходимые файлы из игры, которые находятся по следующим путям:

  • Rust\RustClient_Data\il2cpp_data\Metadata\global-metadata.dat
  • Rust\GameAssembly.dll

Поместите эти файлы в одну папку с дампером и запустите его. Укажите файл Il2Cpp игры (GameAssembly.dll) и файл метаданных (global-metadata.dat). После этого подождите некоторое время, пока дампер создаст все нужные файлы.

Теперь давайте получим оффсет для класса BaseNetworkable:

1. Откройте файл dump.cs в любом текстовом редакторе и найдите строку:
C#:
public static class BaseNetworkable.%
Вы должны увидеть один результат:
1736545196680.png


2. Скопируйте значение после знака % (например, c2ca1660ae2fc11f23473a76db178fbc9bdb02fa) и откройте файл script.json. Найдите значение, которое заканчивается на _TypeInfo. Вот что должно у вас получиться:
1736545408160.png


3. В поле Address вы получите корректный оффсет для BaseNetworkable, который равен 0xDEA9418 (или 233477144 в десятичной системе).

Следуя этой логике, вы можете находить оффсеты для всех статических классов. Например, для MainCamera в script.json:
1736545742634.png


Чтобы найти оффсеты внутри классов, используйте dnSpy для анализа сгенерированным дампером в папке DummyDll (Assembly-CSharp.dll).

Пример нахождения оффсетов для класса BasePlayer:

1. Откройте поиск в dnSpy:
Правка -> Поиск в сборках -> В открывшемся поле "Искать" выберите "Всё возможное". Введите BasePlayer и перейдите к любому конструктору класса.

2. Прокрутите вниз до полей (или просто используйте Ctrl + F, чтобы ввести конкретный оффсет, например, 0x230). Вы увидите все доступные поля для BasePlayer и их оффсеты.

3. Чтобы понять, что скрывается за хэшем названия поля, вы можете сравнить их со старыми оффсетами (до обновления в августе) или определить их по классу, который не хэшируется в большинстве случаев (если он не вложенный).

На глаз я сразу нашел PlayerModel:
1736546586792.png


DisplayName:
1736546619216.png


PlayerEyes (шифруются аналогичным методом, что и инвентарь):
1736546664469.png


BaseMovement:
1736546791667.png


PlayerInput:
1736546842944.png


PlayerInventory:
1736546911857.png


Таким образом, вы можете получать оффсеты других полей и классов. Чтобы расшифровать методы для указателей инвентаря или глаз, нужно немного покопаться в IDE. При желании вы сможете разобраться, это не так сложно и не требует глубоких навыков реверс-инженерии. Все необходимые гайды можно найти в интернете.

Надеюсь, этот туториал будет полезен тем, кто не умеет гуглить! Удачи в ваших начинаниях!
 
Последнее редактирование:
Продавец
Статус
Оффлайн
Регистрация
15 Авг 2019
Сообщения
116
Реакции[?]
5
Поинты[?]
4K
Это рекламный пост.

А это всего-лишь рекламный пост, где я показываю тебе баннер (он кликабельный, да), где ты можешь выбрать огромное количество читов на RUST. Возможно, на некоторые можно получить бесплатный тестовый доступ, попробуй написать нам ;)

Скорее переходи и получи настоящее преимущество в игре!

Сверху Снизу