Nicknu
@Nicknu

А как реализуют всякие разархировщики файлов игр для модификаций?

Это делается на C++? Если да, то как программист узнаёт, что нужно делать, чтобы разархировать и т.п? Интересно.
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
По расширению файла или по заголовкам определяется формат. Затем к данным применяется нужный алгоритм.
Есть довольно большое количество готовых библиотек для этого.
Ответ написан
Комментировать
15432
@15432
Системный программист ^_^
Зачастую применяется дизассемблинг игры, чтоб вытащить нужные алгоритмы для перепаковки.
Бывает, что 7zip справляется
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Сам я бросил ковырять игры давным-давно, и мои знания устарели. Но вот в старых играх, где упаковки ещё не было, я успешно распознавал кое-какие форматы. Но в целом задача состоит из двух: опознание формата архива и опознание формата файла в архиве.

Архив, как правило, устроен просто (хотя разработчики могут зашифровать его, как в «Мафии»). Разжатие чаще всего делается каким-нибудь из стандартных алгоритмов типа Deflate или LZMA. В принципе, можно и игру дизассемблировать, если алгоритм необычный, но чаще всего нет нужды. Кстати, разжатие из-за того, что оно критично к скорости, не покрывают всякими там Denuvo.

Сейчас очень много стандартных и текстовых форматов, и опознание нужно нечасто. Но в целом это искусство, и где-то дизассемблируют, где-то намётанный хакерский глаз и так видит.

Для утилит используют любой доступный язык высокого уровня, чаще всего Си++.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы