Перейти к содержимому


Внимание!

Это форум по извлечению ресурсов из игр: музыки, звуков, текстур, 3D-моделей...
Перед поиском ответов на форуме, рекомендуется ознакомиться с основным сайтом EXTRACTOR.ru!
[ Прочтите внимательно - правила создания тем и ответа в них ]
Все вопросы по запуску игр задавайте в другом месте: Установка и запуск игр.


Фотография

Как узнать пароли запароленных игровых архивов?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 P@S@f

P@S@f

    Ефрейтор

  • Пользователи
  • 8 сообщений

Отправлено 24 October 2010 - 14:23

Сабж.
Многие разработчики просто напросто пакуют архив в zip и ставят на него пароль, чтобы "защитить" игровые ресурсы.
Но по идее, когда игре требуется к ним доступ - она распаковывает отдельно взятый файл, с указанием пароля, не важно куда, пусть даже в память - дампить 100500 текстур не вариант, а собирать по кускам, даже если оно всё примитивно распаковывается в темп тоже не ахти...
Так вот, даже если распаковка происходит без всяких внешних библиотек, а функция распаковки вшита в исходник самого исполнительного файла игры, всё равно при распаковке она обращается к внешнему файлу - архиву, соответственно, на сколько я понимаю, возможно спарсить параметры функции в том числе пароль, правда если он не статичен и не находится прямо в функции.
Да и я заметил кое-кто в интернетах свободно достают эти пароли, так вот хотелось бы узнать о методах... (кроме как погуглить)

К примеру можно взять архив Content.res игры Beat Hazard.

#2 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 24 October 2010 - 19:18

Насчёт Beat Hazard ничего не скажу, а вот пароли для Paradise Cracked и ещё какой-то игры (тут на форуме есть - в поиск, если надо) насколько я помню в явном виде в игре не лежали. Там использовался хэш от них. Кажется у .ZIP два хэша, при помощи которых архив и расшифровывается перед распаковкой. Зная их можно через свою программу для работы с .ZIP расшифровать архив. А сами пароли я не знаю как подбирали - скорее кто-то из разработчиков слил в сеть, потому что в одной игре там был о-о-о-очень длинный пароль (осмысленный, а не набор букв - предложение на английском) и я не представляю сколько бы перебирали всевозможные комбинации чтобы его найти даже по известным хэшам.

#3 P@S@f

P@S@f

    Ефрейтор

  • Пользователи
  • 8 сообщений

Отправлено 24 October 2010 - 22:22

Давайте конструктивно мыслить. Если это ZIP, то это ZIP и никаких других методов шифрования в нём использовать нельзя не изменяя сам формат, иначе это уже не ZIP.
Про перебор я и не заикаюсь. Но, если архивы запаролены, и программе просто необходимо их откыть, то в программе обязательно есть функция для открытия/извлечения файлов из архива. И где-то в ней обязательно в одном из аргументов должен быть пароль. И это всё легко решается методом реверсинга.
Подключаем дебаггер к программе, отсеиваем строковые данные, ищем по названиям файлов, если они известны, или по ключевым словам "zip", "pak", и т.п. ("[формат архива]"), "resources" и иже сними... далее рядом ищем функцию которая извлекает файлы из архива, копаем вглубь, и, если нам повезет, в одном из регистров мы можем обнаружить пароль... или адрес в котором есть на него намёк... ну а если нам крупно повезет и разрабы настолько безрассудные что в чистом виде написали пароль... то он у нас можно сказать будет лежать прямо на тарелочке с голубой каемочкой.

Ну это всё в общих чертах и далеко не в самом сложном варианте... Нашлись бы люди более-менее владеющие этими вещами... ( не то что я, балабол )
Может чего подсказали, или в лучше варианте написали более-менее универсальный гайд... эх, эх.. эгоистические мечты... :rolleyes: :D

#4 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 25 October 2010 - 14:15

Давайте конструктивно мыслить. Если это ZIP, то это ZIP и никаких других методов шифрования в нём использовать нельзя не изменяя сам формат, иначе это уже не ZIP.

Давайте. Знаем как формат .ZIP устроен? Нет? Тогда о чём речь?
Для непонятливых (как работает пароль в .ZIP):
1) Пользователь вводит пароль какой угодно длинны.
2) Специальная функция генерит из этого пароля два хэша.
3) И только потом, при помощи этих хэшей, шифруется содержимое .ZIP архива.
Т.е. если у разработчика своя библиотека для работы с .ZIP - ему нет необходимости хранить сам пароль - достаточно хранить эти два хэша. Об этом и было сказано выше. Т.е. пароль в некоторых играх в явном виде (типа строчки "это_пароль") не хранится.

#5 P@S@f

P@S@f

    Ефрейтор

  • Пользователи
  • 8 сообщений

Отправлено 26 October 2010 - 11:17

Чтобы открыть архив/извлечь файл программе необходимо выполнить функцию, которая это делает. Если её отследить в дизассемблированном виде - можно достать и хеш и пароль и всё что угодно, даже выдрать эту функцию из программы и на основе её написать распаковщик.
Я вам про поиски способов - вы мне про невозможность, трудность, основываясь на субъективных случаях.

#6 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 26 October 2010 - 12:41

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

1) Про "хеш и пароль" это логично и понятно.
2) Выдирать функцию не надо, т.к. исходных кодов для .ZIP по Интернету гуляет сколько угодно - проще взять уже готовые.


Я вам про поиски способов - вы мне про невозможность, трудность, основываясь на субъективных случаях.

Ох...


Да и я заметил кое-кто в интернетах свободно достают эти пароли, так вот хотелось бы узнать о методах... (кроме как погуглить)

К примеру можно взять архив Content.res игры Beat Hazard.

А вот "погуглить" всё таки стоило.
Пятая ссылка-результат на первой же странице по запросу
+"Beat Hazard" +zip +password
в Google ведёт на тему:
1) С подробной инструкцией как искать пароли, когда они лежат в открытом виде, а не хэшах (даже в картинках для совсем незнающих, а в конце аж видео выложили).
2) С паролем для игры Beat Hazard в частности.


base64:
aHR0cDovL2ZvcnVtLnhlbnRheC5jb20vdmlld3RvcGljLnBocD9mPTI5JnQ9MzY2
Mg0KQmVhdCBIYXphcmQgcGFzc3dvcmQ6IGxpcHB5bGlwcHkNCg==