Перейти к содержимому
Zone of Games Forum

AwsomeEpicCool

Пользователи
  • Публикации

    176
  • Зарегистрирован

  • Посещение

Все публикации пользователя AwsomeEpicCool

  1. Предлагаю обсуждать здесь преимущественно возможные алгоритмы автоматизации извличения ресурсов. 1.Игры используют стандартные API для отрисовки графики OGL и Dx, во времена становления графических ускорительей называвшихся игровым движком (сейчас уже нет), сами стандартизированны и используют стандартные форматы данных для записи их в стандартном формате воспринимаемом графическими ускорителями. Уже на этом этапе есть программы (такие как развивающаяся сейчас apitrace), которые заменяют эти библиотеки и пропуская все вызовы через себя могут извлекать графические рессурсы (например, "разжатые" текстуры). На основе этого подхода также можно создать библиотеки служащие для отлова (под управлением пользовательского скрипта) субтитров игр созданных текстурными шрифтами, автоматического их "распознования" (хотя в данном случае скорее транслирование), поиска по хеш таблице такойже строки и ее замены в файле переводов, замена исходной текстуры с текстом текстурой с переводом на основе пользовательской текстуры). Правда, такой подход не гарантирует полного перевода всех локаций и очень трудозатратен (требует полного прохождения со всеми возможными классами игроков, предметами, достижениями, по всем локациям, всех сюжетных линий игры и открытия всех посхалок)... 2. Файл-пакет (контейнер) содержащий ресурсы зачастую представляет собой набор информационных таблиц (блок или его часть) указывающих (в прямом или обратном порядке) друг на друга и на ресурсы (блок или его часть) в файле и если повезет подписанных сигнатурами в своих заголовках. Если повезет такие указатели расположенны в контейнере последовательно а значит мы имеем последовательность значений аппроксимация которых стремится к линейной и разность максимального и минимального значения которых не больше длинны файла, а значит у нас есть определенный задел для эвристик. В общем, любые статистические аномалии могут служить источником информации. Возможно, еще существует возможность анализа работы исполняемого файла на предмет того, какие части файла из ПЗУ он помещает в последовательные адресса ОЗУ для разбиения его на блоки и того как эти блоки разбиваются далее, которые могут подсказать структуру файла... Помощ в понимании того, что, чем и как кодируется оказывает знание того, какие библиотеки использует игра и за что они отвечают. 3. Определить степень сжатия файлов, а значит и то, что они запакованны можно по его энтропии. Но, как всегда есть свое "но": задача определения алгоритма по входным данным, результату и эвристическим оценкам (предположениям, допущениям) включает в себя поиск любого алгоритма, а значит может охватывать все классы сложности, как минимум из поверхностного штудирования теории я понял, что в общем виде такая задача - NP полнай эвристический AI алгоритм. Хотя, видимо решение есть и отметим, что удовлитворительным было бы даже приближенное решение дающее любой сколь угодно плохой результат отличный от хаоса, учитывая, что потом его можно довести до совершенства. В принципе такой метод как PPM позволяет нам в общем случае дожимать плохо сжатые файлы, а значит при модифакции подходит для решения нашей задачи (в примитивном случае для анализа статистической информации о сжатом ресурсе)...
Zone of Games © 2003–2024 | Реклама на сайте.

×