MasterGH Опубликовано 18 ноября, 2017 Поделиться Опубликовано 18 ноября, 2017 The Escapists 2 игра сделанная на игровом движке Unity. Об этом говорит наличие папки TheEscapists2_Data, в которой есть файлик Assembly-CSharp.dll dnsSpy умеет сохранять новый код в том же модуле. Как вариант на Cheat Engine ищем значения и названия переменных. Об этом было очень подробно на стриме Есть еще сложный способ через вывод иерархии игровых объектов и названий классов на них в рантайме, и по ним ориентироваться. На форуме я писал об этом в разделе Игрострой. Открываем Assembly-CSharp.dll в dnsSpy. Если там нет обфускации, то повезло. 1. Шифрование и расшифровывание параметров при записи и чтении через xor на C# Показать контент 2. Взлом денег на скорую руку. Добавили код Character класс явно будет на каждом игроке в игре. CharacterStats будет явно рядом, на том же GameObject-е. Проверяется уже потом, когда деньги добавим Пишем новый код в Update или LateUpdate (вызываются по наследованию из MonoBehavior), Показать контент Описание Добавляем деньги через любой хот-кей проверяя свой ли это игрок новым кодом Показать контент Сохранить новый модуль как старый, а старый заранее переименовать на всякий случай Идем в игру, в характеристики. Нажимаем на наш хот-кей "O" и получаем 999 денег. По аналогии можно сделать другие характеристики. Что можно сделать лучше: 1. Делать постоянную проверку о не хватке параметра и добавлять сколько нужно. 2. Сделать InGame меню с чекбоксами опираясь на руководство на официально сайте. p.s. Вдохновил на написание этой статьи стрим 4 Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 18 ноября, 2017 Поделиться Опубликовано 18 ноября, 2017 добавление кода проводилось под отладкой? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 19 ноября, 2017 Автор Поделиться Опубликовано 19 ноября, 2017 Отладки не было. Была небольшая работа с поиском по сборке. Был поиск условия "фильтра". Обычно это слова "IsPlyaer" или что-то с "Player". Подошел класс Character Показать контент В Сharacter можно писать в существующий LateUpdate, но надо убедиться, что класс наследуется от MonoBehavior, иначе LateUpdate не будет вызываться. Да и кроме LateUpdate() можно работать с Update(), Start() и другими (ссылку приводил выше)) Ниже убедились, что T17NetworkBehaviour наследник от MonoBehaviour Показать контент Раз убедились, то можно добавить код, полагая, что класс CharacterStats находится по соседству на том же GameObject. Получаем его через GetComponent и обращаемся к IncreasedMoney() или другим методам Показать контент Для бОльшей уверенности не хватает видеть в рантайм всю иерархию игровых объектов с их названиями, со связанными названиями классов на игровых объектах. Тут можно представить что компоненты CharacterStats и Character находятся рядом В общем если полазить по сборке, то очевидно что можно сделать по названиям классов, методов и переменных. Можно обойтись без отладки. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 19 ноября, 2017 Автор Поделиться Опубликовано 19 ноября, 2017 Немного информации как добавить inGameMenu. Подробнее пока некогда писать Вот что получилось Показать контент Как делал 1. Сначала сделал меню и ассет в Unity последней версии с официального сайта Показать контент 2. Сделал ассет меню как здесь на видео (в пакадже все есть) Показать контент 3. В dnspy добавил два класса из пакаджа. Это CheatMenu и ShowMenu. Нужно добавлять, т.к. код с ассетами не цепляется, а только названия классов 4. Там же в dnspy изменил код в LateUpdate Показать контент Путь до ассета меню читов надо свой задать. Ассеты это набор файлов с данными делаются в Unity. Пакадж с ассетами меню и скриптами AssetsAssetBundles.unitypackage Хот-кеи j - загрузить ассет в игру с чит миню (в самой игре, где есть персонажи) p - показать/скрыть меню 5. Перезаписал модуль сохранив изменения Assembly-CSharp.dll 6. Потестил, читы работают. Что можно сделать лучше 1. Путь до ассета нужен другой внутри папки с игрой или же можно путь удаленный сделать 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения