Как узнать пароли запароленных игровых архивов?
#1
Отправлено 24 October 2010 - 14:23
Многие разработчики просто напросто пакуют архив в zip и ставят на него пароль, чтобы "защитить" игровые ресурсы.
Но по идее, когда игре требуется к ним доступ - она распаковывает отдельно взятый файл, с указанием пароля, не важно куда, пусть даже в память - дампить 100500 текстур не вариант, а собирать по кускам, даже если оно всё примитивно распаковывается в темп тоже не ахти...
Так вот, даже если распаковка происходит без всяких внешних библиотек, а функция распаковки вшита в исходник самого исполнительного файла игры, всё равно при распаковке она обращается к внешнему файлу - архиву, соответственно, на сколько я понимаю, возможно спарсить параметры функции в том числе пароль, правда если он не статичен и не находится прямо в функции.
Да и я заметил кое-кто в интернетах свободно достают эти пароли, так вот хотелось бы узнать о методах... (кроме как погуглить)
К примеру можно взять архив Content.res игры Beat Hazard.
#2
Отправлено 24 October 2010 - 19:18
#3
Отправлено 24 October 2010 - 22:22
Про перебор я и не заикаюсь. Но, если архивы запаролены, и программе просто необходимо их откыть, то в программе обязательно есть функция для открытия/извлечения файлов из архива. И где-то в ней обязательно в одном из аргументов должен быть пароль. И это всё легко решается методом реверсинга.
Подключаем дебаггер к программе, отсеиваем строковые данные, ищем по названиям файлов, если они известны, или по ключевым словам "zip", "pak", и т.п. ("[формат архива]"), "resources" и иже сними... далее рядом ищем функцию которая извлекает файлы из архива, копаем вглубь, и, если нам повезет, в одном из регистров мы можем обнаружить пароль... или адрес в котором есть на него намёк... ну а если нам крупно повезет и разрабы настолько безрассудные что в чистом виде написали пароль... то он у нас можно сказать будет лежать прямо на тарелочке с голубой каемочкой.
Ну это всё в общих чертах и далеко не в самом сложном варианте... Нашлись бы люди более-менее владеющие этими вещами... ( не то что я, балабол )
Может чего подсказали, или в лучше варианте написали более-менее универсальный гайд... эх, эх.. эгоистические мечты...
#4
Отправлено 25 October 2010 - 14:15
Давайте. Знаем как формат .ZIP устроен? Нет? Тогда о чём речь?Давайте конструктивно мыслить. Если это ZIP, то это ZIP и никаких других методов шифрования в нём использовать нельзя не изменяя сам формат, иначе это уже не ZIP.
Для непонятливых (как работает пароль в .ZIP):
1) Пользователь вводит пароль какой угодно длинны.
2) Специальная функция генерит из этого пароля два хэша.
3) И только потом, при помощи этих хэшей, шифруется содержимое .ZIP архива.
Т.е. если у разработчика своя библиотека для работы с .ZIP - ему нет необходимости хранить сам пароль - достаточно хранить эти два хэша. Об этом и было сказано выше. Т.е. пароль в некоторых играх в явном виде (типа строчки "это_пароль") не хранится.
#5
Отправлено 26 October 2010 - 11:17
Я вам про поиски способов - вы мне про невозможность, трудность, основываясь на субъективных случаях.
#6
Отправлено 26 October 2010 - 12:41
1) Про "хеш и пароль" это логично и понятно.Чтобы открыть архив/извлечь файл программе необходимо выполнить функцию, которая это делает. Если её отследить в дизассемблированном виде - можно достать и хеш и пароль и всё что угодно, даже выдрать эту функцию из программы и на основе её написать распаковщик.
2) Выдирать функцию не надо, т.к. исходных кодов для .ZIP по Интернету гуляет сколько угодно - проще взять уже готовые.
Ох...Я вам про поиски способов - вы мне про невозможность, трудность, основываясь на субъективных случаях.
А вот "погуглить" всё таки стоило.Да и я заметил кое-кто в интернетах свободно достают эти пароли, так вот хотелось бы узнать о методах... (кроме как погуглить)
К примеру можно взять архив Content.res игры Beat Hazard.
Пятая ссылка-результат на первой же странице по запросу
+"Beat Hazard" +zip +password
в Google ведёт на тему:
1) С подробной инструкцией как искать пароли, когда они лежат в открытом виде, а не хэшах (даже в картинках для совсем незнающих, а в конце аж видео выложили).
2) С паролем для игры Beat Hazard в частности.
base64:
aHR0cDovL2ZvcnVtLnhlbnRheC5jb20vdmlld3RvcGljLnBocD9mPTI5JnQ9MzY2
Mg0KQmVhdCBIYXphcmQgcGFzc3dvcmQ6IGxpcHB5bGlwcHkNCg==