Взлом Unturned (Unity, Mono)
-
Доброго всем времени суток! Решил тут на днях попрактиковаться во взломе, а именно во взломе игр на юнити в реализации mono.
Всё было хорошо до одного момента...
Первым делом нашёл значение стамины, отсканировал на это значение цепочку указателей. Далее закинул Assembly-CSharp.dll в dnSpy и увидел очень красивую картину, которая позволила найти гору других полезный значений:
Перенёс всё что нужно в CE, с помощью смещений от стамины:
Далее я путём сканирования значений нашёл все 3 координаты игрока и установил, что они находятся в виде Vector3 в классе Transform, инстанс которого, создаётся в классе SteamPlayer:
А уже в классе SteamPlayer находится инстанс класса игрока, в котором есть инстанс класса жизни игрока в котором и лежат: стамина, хп, еда и т.д.
Вот я и подвёл к главному вопросу. Как можно получить указатель на класс SteamPlayer зная адрес координат. И как получить размер класса(например), чтобы использовать это как смещения инстанса Player от SteamPlayer и PlayerLife от Player'а?
Буду крайне благодарен тому, кто поможет! Не могу найти решения уже 2 бессонные ночи.Если что-то забыл, то уточняйте пожалуйста! Всё разложу по полочкам.
Ещё раз спасибо тому, кто поможет! -
Если главная цель найти указатель на структуру и способ не имеет значения, то я бы рекомендовал сменить подход к задаче.
К примеру у меня была цель найти указатель на класс игрока в Terraria (.NET) - я нашёл здоровье, потом нашёл инструкцию, которая в него пишет, в инструкции адрес куда писать регистр+смещение, предположил, что в регистре искомый адрес и проверил эту гипотезу через dissect data/structure всё в том же CE, делаю инъекцию, которая вытаскивает его в символ который выводится в CE и который можно использовать в других скриптах, что я и делал.
Думаю dissect будет одинаково работать и в вашем случае.
1 - игра сама вычисляет адрес структуры
2 - и потом прибавляя смещения находит то ей сейчас из этой структуры нужноКоротко: ваша игра как-то догадывается как искать стамину и прочее, нужно просто за ней проследить и перехватить на моменте, когда она найдёт то что и вам тоже нужно.