Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Rust — Логика автоматического дампа BaseProjectile и Item

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
445
Реакции
10
Народ, кто сейчас ковыряет Rust и пишет свои дамперы, нужен совет по логике поиска.

Пытаюсь автоматизировать вытягивание офсетов для BaseProjectile (интересуют
Код:
Expand Collapse Copy
hipAimConeOffset
Код:
Expand Collapse Copy
hipAimConeScale
Код:
Expand Collapse Copy
sightAimConeOffset
Код:
Expand Collapse Copy
sightAimConeScale
и параметров класса Item
Код:
Expand Collapse Copy
health
Код:
Expand Collapse Copy
max_health
Код:
Expand Collapse Copy
amount

Суть проблемы:
В актуальных билдах куча полей имеют одинаковый тип, одинаковую протекцию и, что самое паршивое, зашифрованные или идентичные имена. Если просто парсить структуру, натыкаешься на десяток «близнецов». Я пробовал цепляться за уникальные свойства: единственная защищенная строка в классе, специфические структуры с одним uint полем или уникальные типы имен, но это костыли, которые отлетают при любом обновлении.

Что имеем в сухом остатке:
  1. Поля hipAimCone и sightAimCone имеют идентичные атрибуты.
  2. В классе Item поля состояния (health, amount) сидят в куче таких же по типу полей.
  3. Имена полей зачастую прогнаны через обфускацию или шифрование.

Как вы сейчас детектите эти параметры в своих инструментах, чтобы не перебивать офсеты руками после каждого патча? Есть ли какой-то надежный способ отличить hipAimConeOffset от sightAimConeOffset, если у них в IL2CPP метаданных всё под копирку?

Может, стоит копать в сторону сигнатур методов, где эти поля юзаются, или есть более изящный способ через кросс-референсы?

Кто как реализовывал этот момент в своих проектах?
 
Назад
Сверху Снизу