Задать вопрос
Nicknu
@Nicknu

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

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

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

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

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

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

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