Как найти текстуры в играх

Как залезть в файлы игры, чтобы посмотреть текстуры?



Знаток

(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”)
Готово

Интерфейс:

  1. Package Mode – основная рабочая область для установки модификаций или скинов. В этой вкладке вы можете добавить в список загрузки новые модификации, удалить их из списка или изменить приоритет загрузки файлов.
  2. Logging mode – журнал событий, в котором вы можете отследить записи текстур или их связи между собой.
  3. 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.dllAssembly-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 комментариев

Добавить комментарий