Как залезть в файлы игры, чтобы посмотреть текстуры?
Знаток
(277),
закрыт
3 года назад
Михаил Мальков
Профи
(563)
3 года назад
Вообще если знаешь в каком файле лежат текстуры то можно попробовать проверит (просканировать) программой риппером, например Dragon Unpacker, он ищет прямо в коде знакомые типы текстур, если текстуры лежат где то отдельно и имеют неизвестное расширение то тогда либо ищешь программу которая их открывает, либо (как делал я) открываешь текстуру блокнотом и меняешь заголовок файла, часто разработчики приписывают к заголовку стандартного файла свою, например файл dds а они ему дописывают что он tex допустим, удаляешь всю часть до слова dds и сохраняешь.
Texmod – простая и универсальная утилита, которая предназначена для поиска, сохранения, изменения текстур в играх или приложения под Direct3D 9. Программа поддерживает практически все игры, которые используют технологию Direct3D, имеет простой и понятный интерфейс для использования. Texmod используют для создания или установки модификаций/скинов к разным играм, которые изменяют внешний вид текстур в играх.
В архиве вы найдете:
– Оригинальный Texmod последней версии
– Universal Modding Engine (uMod V2.0) – Обновленная версия программы Texmod с более гибким функционалом
Установка:
Распакуйте архив
Запустите файл “texmod.exe” и укажите путь к вашей игре (в поле “Target Application”)
Готово
Интерфейс:
- Package Mode – основная рабочая область для установки модификаций или скинов. В этой вкладке вы можете добавить в список загрузки новые модификации, удалить их из списка или изменить приоритет загрузки файлов.
- Logging mode – журнал событий, в котором вы можете отследить записи текстур или их связи между собой.
- Build mode – в этой вкладе вы можете создать свой пакет файлов.
Как использовать Texmod:
- Установка мода:
Указав путь к вашей игре загрузите любой мод, который изменяет текстуру в игре и имеет формат “.tpf”
Во вкладке Package Mode, выберите мод и добавьте его в игру нажав на иконку папки. Нажмите кнопку “Run”, чтобы запустить игру с вашим модом
- Запись текстуры из игры:
Во вкладке “Logging Mode”, выберите игру и поставьте галочки на левой стороне Texmod, а в функции Output Format – выберите DDS.
В поле “Output Folder” выберите папку, куда запишутся игровые текстуры, затем нажмите на кнопку “Run” для запуска игры.
Находясь в игре используйте клавиши “+/-” для выбора текстуры и Enter, чтобы записать ее в выбранную ранее папку.
- Запись своей текстуры для скина или мода:
Перед добавлением своего скина или мода на текстуры вам необходимо создать “TexMod.log” в следующем формате – “название текстуры|путь к текстуре” (Пример: 0x54956F99|C:DownloadsTexmodOutSPIDERMAN.EXE_ 0x54956F99.dds).
Указав путь к игре в Texmod и во вкладке Package Build укажите путь к вашему “TexMod.log”.
Укажите ваше авторство, а затем нажмите кнопку “Build”, чтобы начать компиляцию вашего мода. После успешного завершения вы получите файл в формате “.tpf”, которым можете поделиться со всеми и загрузить на сайт.
Geometry Dash
Not enough ratings
Текстуры и файлы игры – основы
Основная информация о игровых файлах и текстурах и как их редактировать.
Как попасть в папку с ресурсами игры
▶ И начинается всё с поиска тех самых ресурсов которые будем обсуждать. Попасть в папку с игрой можно несколькими путями.
– Через Steam – В библиотеке нажимаем ПКМ по вкладке с игрой -> Свойства -> Локальные файлы -> Обзор. В открывшемся окне заходим в папку Resources.
– Через проводник (нужно знать адрес папки с игрой) – В Steam это обычно C:Program Files (x86)SteamsteamappscommonGeometry DashResources. Если игра пиратская и вы не знаете путь к файлам можно попробовать найти игру в поиске в “Пуск” -> ПКМ по результату -> Перейти к расположению файла. И затем зайти в уже упомянутую папку Resources.
Папка Resources
▶ После успешного нахождения папки с ресурсами мы можем найти там множество файлов в исходном нешифрованом виде.
▶ Здесь содержатся:
– Часть кода игры
– Все текстуры используемые в игре
– Все звуковые дорожки из игры (в том числе музыка из оригинальных уровней)
– Шрифты (В формате PNG картинок)
▶ Некоторые файлы из папки с ресурсами
Текстуры
▶ Текстуры – отдельные файлы или сборки текстур (GameSheet) .Каждые отвечают за определённую визуальную часть игры. Отсутствие или неправильное имя файла может вызывать баги, отсутствие элементов меню, блоков, иконок или вылет игры.
▶ Большинство файлов можно редактировать. В Geometry dash все текстуры в формате PNG что делает их редактирование максимально простым (Думаю вы знаете как пользоваться Paint).
▶ Также можно заменять одни наборы текстур другими. Сборки текстур меняющие внешний вид игры називаются – текстурпаки. В сети можно найти много различных наборов текстур.
▶ Большинство текстур делятся на три файла: Название, Название+hd, Название+uhd – это деление на уровень графики. Без приставок это файл с низким разрешением для низких настроек графики, соответственно +hd это средние +uhd это высокие разрешение и настройки.
▶ Также стоит рассказать о самых важных файлах с текстурами и за что они отвечают.
Название файла
Предназначение
GJ_GameSheet
Текстуры блоков, пил, рамп, орбов и т.д.
GJ_GameSheet02
Первый слой скинов персонажа, второй слой, порталы
GJ_GameSheet03
Все кнопки и декорации меню
GJ_GameSheet04
Мерцания порталов и кнопки меню онлайн-ур.
GJ_GameSheetGlow
Обводка скина, Эффекты от орбов
bigFont
Основной текст игры
goldFont
Вторичный текст (жёлтый)
GJ_gradientBG
Задний фон меню
game_bg_(01-19)_001
Фоны уровней
GauntletSheet
Иконки Gauntlets
И множество других файлов, но уже не так часто модифицируемых.
▶ И все из данных файлов как я уже говорил делятся на три уровня графики, кроме файла GJ_gradientBG у него нету uhd версии. Автор ранее уже делал инструкцию по смене этого файла.
https://steamcommunity.com/sharedfiles/filedetails/?id=2459862949
▶ Так что фактически можно создать целых три текстурпака и менять их прямо в игре. Но на практике файлы без hd приставок будут слишком мыльными и низкокачественными.
Поменять текстуры hd и uhd можно через меню в самой игре, переключая medium и high настройки графики.
Аудио
▶ Ещё в папке с ресурсами можно встретить аудиодорожки разных предназначений.
Их тоже можно заменять на свои. Главное не забывайте давать файлу нужное название иначе игра просто не увидит его.
▶ Вот названия для всех аудиодорожек (кроме муз. из оригинальных уровней, она называется как сам уровень: Strereo Madness, Back on track и т.д.)
StayInsideMe
Музыка из практик мода
achievement_01
Новое Достижение
buyItem01(03)
Покупка предметов в одном из 3-х магазинов
Chest(click, land, open)
Звуки сундука
DJRubRub
Музыка из The Challenge
explode_11
Взрыв персонажа (проигрыш)
highscoreGet02
Получение монет в конце уровня
magicExplosion
Окончание дропа из сундука
menuLoop
Музыка главного меню
secretLoop02
Хранилище секретов
secretLoop03
Капсула времени
▶ Интересный факт – в файлах присутствуют песни из других официальных уровней серии игр, meltdown и world. Но в самой игре их нельзя использовать в редакторе и слушать, разве-что только с помощью хаков.
…
На первую версию этого руководства у автора ушло 2 с половиной часа, со временем оно будет дополнятся.
Спасибо за внимание
Listen to this article
Когда речь идёт о программном обеспечении, термин «взлом» зачастую ассоциируют с пиратством и нарушением авторских прав. Тем не менее, эта статья всё же является практическим руководством по взлому. Используя инструменты и методы о которых далее пойдёт речь, вы сможете проверить защиту собственной Unity игры и узнаете, как обезопасить её от взлома и кражи ресурсов.
Многие игры, созданные на платформе Unity не так уж и защищены, как кажется. В данной статье предлагаю взломать исходный код игры на Unity для своих дальнейших задумок.
Извлекаем текстуры и шейдеры
Большинство ресурсов Unity-проекта упаковываются в файлы проприетарного формата с расширениями .assets
и .resources
. Наиболее популярный на сегодняшний день инструмент для просмотра таких файлов и извлечения из них ресурсов — Unity Assets Explorer.
Графический интерфейс программы не отличается удобством, а также она страдает от нескольких критических багов. Не взирая на это, программа вполне способна извлечь большинство текстур и шейдеров из игры. Полученные в результате текстуры будут иметь формат DDS, который можно «прочитать» с помощью Windows Texture Viewer.
С шейдерами ситуация обстоит сложнее: они извлекаются в уже скомпилированным виде и, насколько мне известно, решений для их автоматической трансляции в удобочитаемый формат не существует. Тем не менее, это обстоятельство не мешает импортировать и использовать полученные шейдеры в другом Unity-проекте. Не забывайте, однако, что подобная «кража» нарушает авторские права и является актом пиратства.
Установка программы dnSpy
dnSpy — это утилита для декомпиляция приложений на языке программирования C#. Инструкцию по установке можно найти на официальной страничке автора на github. Также в конце статьи будет ссылка на скачивание программы из статьи.
Файлы из папки не удалять и не перемещать. В противном случае, программа работать не будет!
Поиск нужный файлов
Для того, чтобы получить исходный код игры скачиваем ее (можно и Steam версию игры). Далее нам нужно найти ее локальные файлы. Для этого заходим в ‘свойства‘ >> ‘локальные файлы’ >> ‘просмотреть локальные файлы‘. Далее, нужно немного порыться и найти папочку ‘Managed‘.
Убедитесь, что игра написана на Unity!
В этой папке будет много файлов с расширением .dll. Нам нужен только 1 из них. Assembly-CSharp.dll
Работа в dnSpy
Для начала кинем наш файл в dnSpy. После этого вы увидите подобную картину.
У вас может не быть некоторых файлов, они появятся со временем работы.
Нажимаем на стрелочку слева от название нашего файла. Далее тоже самое, только в открывшемся взору файле. Получаем много файлов. Все это — код.
Нам нужен только раздел под названием «-«. Нажимаем на стрелочку слева. И видим множество файлов, что и есть исходный код. Вы можете в нем покопаться и изменить, например прозрачность стен или, например, иконки персонажей и оружия.
Чтобы что-то поменять в коде нужно нажать по нему ПКМ и выбрать «Изменить класс (C#)». Ставим под себя и нажимаем на «Скомпилировать» . Ссылка на скачивание — ТЫК
Взламываем исходный код через IlSpy и dotPeek
Для Windows-сборок Unity компилирует и сохраняет исходный код всех игровых скриптов в директорию Managed
. Интересуют нас следующие библиотеки: Assembly-CSharp.dll
, Assembly-CSharp-firstpass.dll
и Assembly-UnityScript.dll
.
Для декомпиляции и просмотра managed-кода .NET библиотек (коими и являются наши жертвы) существуют довольно удобные и при этом бесплатные утилиты: IlSpy и dotPeek.
Данных подход особенно эффективен для наших целей: Unity очень скупо оптимизирует исходный код игровых скриптов, практически не изменяя его структуру, а также не скрывает названия переменных. Это позволяет с легкостью читать и понимать декомпилированный материал.
Дополнительные видео по нашей теме
🔑 Взлом игр на Unity 3D и защита от него [Tutorial] – часть 1
🔑 Взлом игр на Unity 3D и защита от него [Tutorial] – часть 2
Извлекаем 3D-модели
Трёхмерные модели в типовой Unity-сборке «разбросаны» по различным ресурсам, а некоторые из них и вовсе могут генерироваться во время игры. Вместо копания в файлах, существует интересная альтернатива — получить данные о геометрии прямиком из памяти графического ускорителя.
Когда игра запущена, вся информация о текстурах и моделях, видимых на экране, находится в памяти видеокарты. С помощью утилиты 3D Ripper DX можно извлечь всю эту информацию и сохранить в формате, понятном 3D-редакторам (например, 3D Studio Max). Учтите, что программа не самая простая в обращении — возможно, придётся обратиться к документации.
Взламываем PlayerPrefs
PlayerPrefs — это класс из стандартной библиотеки Unity, который позволяет сохранять данные в долговременную память устройства. Он часто используется разработчиками для хранения различных настроек, достижений, прогресса игрока и другой информации о состоянии игры. На ОС Windows эти данные сохраняются в системном реестре по следующему пути: HKEY_CURRENT_USERSoftware[company name][game name]
.
С помощью стандартной утилиты regedit можно легко модифицировать любые значения PlayerPrefs, изменяя тем самым конфигурацию и статус игры.
Заключение
Грубо говоря, в этой статье мы научились менять игру под себя. Если вы немного шарите в C#, вы можете исправить игру так, будто вы скачали читы. Будучи установленной на пользовательское устройство, игра фактически раскрывает все свои текстуры, модели и исходный код. Декомпилировать игру и украсть ресурсы — это лишь вопрос времени.
Источник: telegra.ph и habr.com
Если Вам понравилась статья — поделитесь с друзьями
15 017 просмотров
Отказ от ответственности: Автор или издатель не публиковали эту статью для вредоносных целей. Вся размещенная информация была взята из открытых источников и представлена исключительно в ознакомительных целях а также не несет призыва к действию. Создано лишь в образовательных и развлекательных целях. Вся информация направлена на то, чтобы уберечь читателей от противозаконных действий. Все причиненные возможные убытки посетитель берет на себя. Автор проделывает все действия лишь на собственном оборудовании и в собственной сети. Не повторяйте ничего из прочитанного в реальной жизни. | Так же, если вы являетесь правообладателем размещенного на страницах портала материала, просьба написать нам через контактную форму жалобу на удаление определенной страницы, а также ознакомиться с инструкцией для правообладателей материалов. Спасибо за понимание.
Если вам понравились материалы сайта, вы можете поддержать проект финансово, переведя некоторую сумму с банковской карты, счёта мобильного телефона или из кошелька ЮMoney.
Дэвид Линч
5.02.2022
Автор
Ну мне рил надо, хотя бы на старых игрушках применю, можно поточнее чуток ?
Ответить
Развернуть ветку
Black Evangel
5.02.2022
Они в открытом доступе не лежат. Или ковырять и взламывать файлы или доставать источник.
При этом взлом данных естественно везде индивидуальный. По этому подсказать универсальный метод тут не получится.
Ответить
Развернуть ветку
Дэвид Линч
5.02.2022
Автор
А любую другую игру ? Например первую часть или я не знаю, Batman Arkham Asylum ?
Ответить
Развернуть ветку
Black Evangel
5.02.2022
Так то просто просмоторщик. Он не умеет переносить модель во что-то, чтобы потом это можно было редактировать.
Ответить
Развернуть ветку
chillevil
5.02.2022
Почему не умеет? там буквально есть кнопка экспорта. Импортишь в блендер/макс/маю и сиди делай что хочешь. Сам в блендер много чего импортил
Ответить
Развернуть ветку
Black Evangel
5.02.2022
Значит с другим уже каким-то просмоторщиком спутал, тогда звиняйте.
Ответить
Развернуть ветку
Vyalii Pit0n
5.02.2022
p3dm.ru вот тут ребята из игр модельки вытаскивают – может и из DL2 появятся
Ответить
Развернуть ветку
Аккаунт удален
5.02.2022
Комментарий недоступен
Ответить
Развернуть ветку
Аккаунт удален
5.02.2022
Комментарий недоступен
Ответить
Развернуть ветку
Дэвид Линч
5.02.2022
Автор
Ну мне в какую сторону копать ? Шо гуглить
Ответить
Развернуть ветку
Аккаунт удален
5.02.2022
Комментарий недоступен
Ответить
Развернуть ветку
Tr0y Boi
5.02.2022
Нормальные у тебя желания
Обычно моддеры создают модель и пакуют её в игру индивидуальным методом, но обратный процесс нецелесообразен из-за высоких трудозатрат
Легче создать модель заново, чем вытащить из игры и перевести в нормальный формат для редактирования, а иногда это и вовсе невозможно
Ответить
Развернуть ветку
Дэвид Линч
5.02.2022
Автор
ебать шоооо, а как мне воссоздать в точности модель, если я захочу одного челобриняку именно такого ?
Ответить
Развернуть ветку
Tr0y Boi
5.02.2022
Ты не знаешь ещё что крутые 3дшники делают, невообразимые вещи
Ответить
Развернуть ветку
Ярослав Голубев
5.02.2022
Не спорь с ним, он ничего о геймдеве не знает. А если усомнишься в гениальности будет бегать и ставить минусы. 🙂
Ответить
Развернуть ветку
Дэвид Линч
5.02.2022
Автор
а что потом делать ?) сидеть прикалываться ?)
Ответить
Развернуть ветку
i came here to chew bubblegum
5.02.2022
Пройдись по моделям в врчате и гмоде. Если какую-то модель кто-то вытащил и она есть в открытом доступе, то, скорее всего, она уже есть в этих двух базах.
Ответить
Развернуть ветку
Дэвид Линч
5.02.2022
Автор
Ходная идея бра ! Так и сделаю ! Но вообще буду становиться крутым хацкером чтобы ломать эти модели полностью и использовать в своих коммерческих и не очень целях !
Прост хотел плакаты с голыми зомби себе на стену (
Ответить
Развернуть ветку
Жесть
5.02.2022
С их движком проще будет заново замоделить, чем вытащить
Ответить
Развернуть ветку
Читать все 38 комментариев