Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+4 невидимых) |
eXeL@B —› Софт, инструменты —› Распаковка файлов из контейнеров SFFS |
<< . 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 30 июня 2014 14:42 · Поправил: vden · Личное сообщение · #1 upd: ---------------------------------- В принципе все то же самое что сделали Reloaded и Olenevod хз-когда но теперь в GUI Как это работет: - перетаскиваем файл с ресурсами (*.dat) в окно - вводим ПРАВИЛЬНЫЙ APPKEY (иначе расшифровка не пройдет, и может быть крэш) APPKEY можно получить снифером (есть на форуме) - получаем хэши для каждого файла в контейнере без имен файлов содержимое файлов расшифровать не выйдет имена можно достать сниффером который есть на этом форуме, но он сработает только для латиницы в идеале нужен сниффер для 2-байтного юникода (UTF-16LE) - жмем F5 и вводим имена файлов найденные имена добавляются в список и убираются из поля для ввода проект можно сохранять и добавлять имена позже - на файле, для которого известно имя, щелкаем 2 раза, файл извлекается и открывается содержащая его папка Основано на доках Reloaded. Главное отличие - код не рипался, потому что это Blowfish где каждый блок хорится на позицию в файле. Связанные материалы: | Сообщение посчитали полезным: Gideon Vi, unknownproject, kampaster, ELF_7719116, verdizela, Veliant, BAHEK, Nightshade, sivorog, 4kusNick, Isaev, DimitarSerg, -Sanchez-, MarcElBichon, zNob, MasterSoft, v00doo, Jim DiGriz |
|
Создано: 01 июля 2014 08:54 · Личное сообщение · #2 |
|
Создано: 01 июля 2014 11:22 · Личное сообщение · #3 Есть 2 реализации СФФС. Одна драйвер фильтр. И там обычный CreateFile. Вторая бездрайверная. Там функи открытия, чтения и СетФайлПоинтер в protect.dll. И файлы открываются именно этими функами. | Сообщение посчитали полезным: ELF_7719116 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 01 июля 2014 13:24 · Личное сообщение · #4 Nightshade ок, с этим понятно. Но я клоню немного к другому - из топиков выше, если правильно понимаю, есть проблема: от имен файлов в контейнере остались одни хэши. Обращения к этим файлам, по идее, же должны остаться в образе? Что мешает сопоставить вызов с именем файла - и его положение в контейнере? т.е. пойти другим путем, не используя брут: эдак заснифить имена?! |
|
Создано: 01 июля 2014 13:33 · Личное сообщение · #5 |
|
Создано: 01 июля 2014 13:36 · Личное сообщение · #6 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 01 июля 2014 13:45 · Личное сообщение · #7 Nightshade ...имен файлов (только латинские) от MasterSoft - все, я прозрел Vovan666 пишет: Предлагаешь крякера в геймера переделать... нет, геймеров сейчас и так целая армия. можно даже наоборот - создать тему в каком нить игровом комьюнити-сайте, |
|
Создано: 01 июля 2014 14:09 · Поправил: kampaster · Личное сообщение · #8 ELF_7719116 это было туго В том и проблема, можно отснифать имена, а можно и брутить. Брутить мало реально, как писал выше. Но, бывают редкие случаи когда очень даже реально и проще чем отснифать. А чтобы отснифать имена - так это нужно всё игру пере пройти + доп квестики, скрытые уровни и т.п В общем тоже муторно. |
|
Создано: 01 июля 2014 14:47 · Личное сообщение · #9 Для таких целей писали "декодер на лету". Крепится длл с вшитым аппкеем. При попытке открыть несуществующий на диске файл, идет попытка извлечь его из контейнера. Если все удачно, открываем извлеченный файл. Такой декодер уже выкладывал Zorn в соседней ветке. И не надо никаких драйверов, снифферов. Не надо проходить игру. |
|
Создано: 01 июля 2014 15:19 · Поправил: kampaster · Личное сообщение · #10 Nightshade пишет: Для таких целей писали "декодер на лету". Крепится длл с вшитым аппкеем. А разве перед этим не нужно стар снимать? Nightshade пишет: При попытке открыть несуществующий на диске файл, идет попытка извлечь его из контейнера. Если все удачно, открываем извлеченный файл. Такой декодер уже выкладывал Zorn в соседней ветке. 1 фиг нужно будет проходить всю игру и ловить обращения к файлам. |
|
Создано: 01 июля 2014 15:48 · Поправил: Veliant · Личное сообщение · #11 Nightshade пишет: И не надо никаких драйверов, снифферов. Не надо проходить игру. Разве? Не все ли равно где снифать в ядре или в ring3? Все равно проходить игру придется. kampaster пишет: А разве перед этим не нужно стар снимать? Стару пофиг на смену entrypoint на другой адрес у protect.dll, и наличие чужих dll в памяти. |
|
Создано: 01 июля 2014 15:58 · Поправил: Nightshade · Личное сообщение · #12 |
|
Создано: 01 июля 2014 16:30 · Личное сообщение · #13 ELF_7719116 пишет: желающих убить разрабов старфорса или хотя бы поднасрать им, в нашей стране предостаточно я уже не назову год, когда выходила последняя игра под старфорсом. К стати, если откинуть параноидальную третью версию, то четвертая, ни говоря уже о пятой, были в разы юзер-френдли, чем тот же стим. Их по крайней мере можно было активировать вообще без интернета и не запускать этот монструозный стим-клиент при каждом запуске игры. Nightshade пишет: При попытке открыть несуществующий на диске файл, идет попытка извлечь его из контейнера...Не надо проходить игру я может туплю, но мне не понять, как спасает этот метод от шифрования файла, который требуется в середине/конце игры. |
|
Создано: 01 июля 2014 16:36 · Личное сообщение · #14 |
|
Создано: 01 июля 2014 17:18 · Личное сообщение · #15 |
|
Создано: 01 июля 2014 17:46 · Поправил: vden · Личное сообщение · #16 - извлечение всех файлов - применение атрибутов к файлам - примениние времени создания, модификации к файлам - правильная обработка FILE_ATTRIBUTE_DIRECTORY (просто создание папки) - если файл уже есть и размер совпадает, то он пропускается - можно отменить извлечение Esc | Сообщение посчитали полезным: Gideon Vi, kampaster, 4kusNick, SReg, Nightshade, Isaev |
|
Создано: 01 июля 2014 18:13 · Личное сообщение · #17 |
|
Создано: 02 июля 2014 19:34 · Поправил: Nightshade · Личное сообщение · #18 |
|
Создано: 02 июля 2014 19:51 · Поправил: vden · Личное сообщение · #19 XE6. ToUpper это часть type helper'a TStringHelper, появилась не так давно. Type helper это структура которая инжектится в другую структуру, сначала её сделали чтобы править свои же баги, а теперь это фича Еще я перегрузил оператор Implicit для неявного преобразования TAppKey в строку и строку в TAppKey. Других больших несовместимостей с предыдущими версиями кажется нет. Еще важно чтобы в том месте где считается md5 от имени файла, строка с именем была 2-байтовая, UnicodeString. В 2009 и старше строка и так UnicodeString. |
|
Создано: 03 июля 2014 15:27 · Личное сообщение · #20 Уже страшно подумать, какой по размеру будет эксе на выходе в среде XE6Там хоть убирай, не убирай ненужные компоненты - толку нет. ----- TEST YOUR MIGHT | Сообщение посчитали полезным: sivorog |
|
Создано: 03 июля 2014 16:40 · Личное сообщение · #21 ну да, размер тулзы для стара имеет очень большое значение | Сообщение посчитали полезным: ARCHANGEL |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 23 августа 2014 09:51 · Личное сообщение · #22 Vovan666 пишет: там кажется для каждой игры нужно брутить таблицу хэшей, а как и из чего... может быть по аналогии с SecuROM PA - из приватного ключа составляется таблица в 4112 байт? Code:
|
|
Создано: 23 августа 2014 10:17 · Поправил: unknownproject · Личное сообщение · #23 Провел анализ.Взял несколько своих лицензионных игр, накрытых старфорс + качнул пару демок и сделал вывод, как же менялась чудесная файловая система старфорс. 1.Модифицированный zip архив со смещенным заголовком и другим мусором. Целевой пример: Демоверсия игры Shade - 2004 год. Файл: data00.res. Версия старфорс: 3.4.47.1 2a.Далее уже появился SFFS, т.е. старфорс уже стал юзать свою файловую систему для защиты некоторых игр от несанкционированного доступа, при чем файлы шифровались по отдельности. Целевой пример: Dungeon Lords Золотое Издание - 2005 год. Файлы: compass.dat, root.dat. Версия старфорс: 3.7.16.0 2b.Сего было мало для них и они решили все-таки зашифровать некоторую часть данных в одном файле с сохранением иерархии. Целевой пример: Knights of The Temple 2 - 2006 год/Волкодав - Путь воина - 2006 год. Файл: KOTT2.dat/resource0.dat. Версии старфорс: 3.6.10.7/4.50.7.3 ----- TEST YOUR MIGHT |
|
Создано: 23 августа 2014 12:57 · Личное сообщение · #24 |
|
Создано: 23 августа 2014 14:10 · Поправил: unknownproject · Личное сообщение · #25 |
|
Создано: 24 августа 2014 23:55 · Личное сообщение · #26 unknownproject пишет: Вероятно я не так выразился.Да, озвучка там в speech.dat, но контейнер ведь не один.Именно это я имел ввиду.Саму игру я анпакнул с помощью демки золотого издания.Файловую структуру восстанавливать не сложно. Епт. Сколько издатель захочет, столько и делает контейнеров. Это только от его желания зависит. Далее Мне очень интересно как ты восстанавливал структуру файлов ака имена в архиве. Я тебе один сИкрет расскажу. Конкретно в этой игре туча скриптов для диалогов. И куча скриптов с событиями. Например если произошло событие нападения, проиграть звук такой-то. И если ты выбрал вторую строку в диалоге проиграть звук 2*ххх+имя файла. Отсюда, чтобы вытащить там все файлы, надо перелопатить все скрипты и все возможные ветки выполнения скриптов. А теперь расскажи мне на ночь, как ты все это лопатил. | Сообщение посчитали полезным: TryAga1n, sivorog |
|
Создано: 22 мая 2017 16:03 · Поправил: PASAf · Личное сообщение · #27 Попробовал распаковщик на 2-х версиях StarForce (3.7.12 и 4.70) - находит по 100 с лишним хешей, на одном файл 400+ мб, на другом 11 мб, после извлечения известных имен (отловленных снифером, 1-3 файла), извлеченные файлы меньше контейнера на 10 кб. Вопрос - могут ли быть оставшиеся хеши ложными? Или там правда в 10 кб ещё 100 файлов? P.S. Жертвы - игры. |
|
Создано: 28 мая 2017 06:07 · Личное сообщение · #28 В общем сам полу-отвечу на свой вопрос. 2 игры разные. С вышеупомянутыми версиями старфорса. Прошёл полностью с включенным снифером + забил все имена из зарубежных (без старфорса) релизов. Итог: в обеих играх SFFS Unpacker нашёл 101+N имён файлов, где N - кол-во реальных (распакованных/отловленных снифером/присутствовавших в релизах без старфорса) файлов. P.S. SFFS Unpacker с SVN, Delphi XE6 |
|
Создано: 28 мая 2017 09:07 · Поправил: Psalmopoeus Pulcher · Личное сообщение · #29 PASAf, таки да, прот скрывает реальное кол-во файлов в контейнере, но допускать это нужно с некоторой долей вероятности, ориентируясь на суммарный размер извлеченных файлов. Так что, если с включенным снифером + забил все имена из зарубежных, то ход мыслей правильный и ты все сделал верно. Upd. Можно пойти немножечко дальше - взять сорцы анпакера и самому пробежаться по контейнеру, собрать размеры всех полей, в т.ч. хешей, хидеров и реальных файлов, и сравнить с размером контейнера. Возможно это как то поможет. |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 31 мая 2017 15:48 · Личное сообщение · #30 По просьбам трудящихся, обновил. Не знал куда запостить, чтоб не апать древние топики. Пусть будет здесь. SFSniffer v3 Code:
P.S.: Тестил на Windows 7 SP1 x86 b0b0_31.05.2017_EXELAB.rU.tgz - SFSniffer_v3.zip | Сообщение посчитали полезным: ClockMan, zNob, -Sanchez-, daFix, PASAf, Dart Raiden, grubian |
|
Создано: 03 июня 2017 16:51 · Поправил: PASAf · Личное сообщение · #31 MasterSoft Проверил на вышеупомянутых игрушках (StarForce 3.7.12 и 4.70 на Windows XP) - аппкей словило верный. Благодарю за труд. | Сообщение посчитали полезным: MasterSoft |
<< . 1 . 2 . 3 . >> |
eXeL@B —› Софт, инструменты —› Распаковка файлов из контейнеров SFFS |