Сейчас на форуме: (+7 невидимых) |
eXeL@B —› Протекторы —› Распаковка Starforce SFFS ресурс файла (resource0.dat) |
<< . 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 07 мая 2007 16:17 · Личное сообщение · #1 К сожалению ничего путного по этой теме форуме не нашел, поэтому предлагаю обсудить. Интересует распаковка русурсного файла SFFS. Обычно это resource0.dat. В релизе инструментов от RELOADED под названием StarForce 3 Reverse-Engineering Tools достаточно хорошо описаны все структуры, но упущен маленький ньюанс - раскриптовка идет с использованием восьмибайтного appKey, но как он формируется - упомянуть забыли. Подозреваю что из 24 символьного основного ключа диска. На основе приведунных исходников соорудил распаковщик, структуры с указателями индексов расшифровывает, а вот для самих файлов без этого appKey уже не обойтись. Если кто-нибудь уже разбирался с этими материалами, буду рад совету. |
|
Создано: 19 июня 2007 19:42 · Личное сообщение · #2 |
|
Создано: 19 июня 2007 19:52 · Личное сообщение · #3 |
|
Создано: 30 декабря 2007 00:13 · Личное сообщение · #4 |
|
Создано: 13 февраля 2008 15:29 · Личное сообщение · #5 |
|
Создано: 13 февраля 2008 16:27 · Личное сообщение · #6 |
|
Создано: 13 февраля 2008 22:59 · Личное сообщение · #7 хукаешь CreateFile, все имена открываемых файлов пишешь в лог, играешь в игру смотришь на то, какие файлы игра открывала, смотришь есть ли они физически на диске (таким образом определяешь то, что в контейнере лежит) далее вставляешь в начало CreateFile функцию CopyFile и копируешь нужные файлы из контейнера например на диск C вот и все дела ----- MicroSoft? Is it some kind of a toilet paper? |
|
Создано: 14 февраля 2008 10:15 · Личное сообщение · #8 Ага конечно , вот только если разрабочики запакуют последнию стадию игры , то выражение Tim'а "играешь в игру" плавно переносится в " проходишь игру полностью". Так что тут надо добивать способ mikeSP и распаковывать на ходу , с условием : если в анпакнутой проге фаил не найдет то пытаемся распоковать и снова открываем. |
|
Создано: 14 февраля 2008 12:32 · Личное сообщение · #9 |
|
Создано: 14 февраля 2008 15:09 · Личное сообщение · #10 |
|
Создано: 21 декабря 2008 11:38 · Поправил: SergeyS · Личное сообщение · #11 А есть ли возможность вытащить Strings.pak (возможно, что вместо него есть stringtable.ini и или stringtable.bin)? Это перевод текста для аддона Gothic III Forsaken Gods Руской версии (Забытые боги) от GFI/Руссобит-М имеются файлы: Game.dll, protect.exe, protect.dll, protect.x86, protect.x64, Gothic III Forsaken Gods.exe, resource0.dat и образ установочного диска. Сам я в распаковке стара ничего не понимаю, но прочитав все топики понял, что распаковываются пока только стар 1,2 и 3 версии, а тут StarForce 5.60.20.0 версии. Нужно это для модостроения и исправления некачественного перевода, который локализаторы запихнули в контейнер (SFFS). Сам распаковать пробовал, но ничего не вышло. |
|
Создано: 21 декабря 2008 17:52 · Личное сообщение · #12 |
|
Создано: 22 декабря 2008 07:54 · Поправил: SergeyS · Личное сообщение · #13 aspirin пишет: SergeyS пишет: Сам я в распаковке стара ничего не понимаю, но прочитав все топики понял, что распаковываются пока только стар 1,2 и 3 версии, а тут StarForce 5.60.20.0 версии. ты где тут 1 и 2 стар нашёл, тыкни носом меня чтоли? Я наверно не правильно выразился! Имеющимися инструментами - распаковыаются версии стара до 3й, а дальше ручками, но с этим у меня туго. Дык может кто-нибудь распаковать, написать распаковщик для данного resource0.dat, или оказать еще какую-нибудь посильную помощь? Сам я не крекер, а начинающий любитель, который начинает делать первые шаги в Делфи. |
|
Создано: 22 декабря 2008 13:05 · Поправил: ARCHANGEL · Личное сообщение · #14 |
|
Создано: 22 декабря 2008 14:07 · Личное сообщение · #15 |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 06 ноября 2011 19:56 · Личное сообщение · #16 мне очень жаль, что пришлось поднять такой древний топ, сорри. Вообщем имеецо такой вопрос, при написании анпакера по докам от релоадед уткнулся в одну хрень, вот к примеру: Code:
fileInfoPos.QuadPart = 0x10 + header->container->numFiles * 0x18 + index.QuadPart * 0x38; с этим я ещё как то разобрался: 0x10+0x6C(в моём случае)*0x18 + 0x33*0x38 = в итоге получаем указатель на fileInfo. но вот с этим например вообще не пойму: memcpy(outBuf, file->info->data + file->readPos, len); где взять структуру SFFS файла? чёт она там не очень то описанна. иля я прост чёт не догоняю. как узнать начало блока какого-то файла в контейнере? |
|
Создано: 06 ноября 2011 22:59 · Личное сообщение · #17 Ну, раз и этот вопрос подняли... Сорцы я профукал но надеюсь | Сообщение посчитали полезным: MasterSoft |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 07 ноября 2011 00:07 · Личное сообщение · #18 |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 23 ноября 2011 01:25 · Поправил: MasterSoft · Личное сообщение · #19 хоть тема и четырёхлетней давности, но что-то я не видел чтобы об этом где-то ещё упоминается. mikeSP пишет: Вот правда нужно будет немного потратить времени на преобразование текстового ключа игры в appKey. не знаю как в более старых версия, не смотрел, но версии >5.5 appkey жёстко зашит в protect.dll Причём первый dword просто ксорится, а второй лежит вообще в явном виде (бери - не хочу) и находяться они друг за другом. так что если знаешь второй то и первый найти не проблема. но проблема найти как раз второй ибо всё это в вм. Разумеется никакие шаблоны не катят. конечно декомпиль поможет, но это не айс. Вообщем после "вычисления", appkey передаётся одним вызовом, через DeviceIoControl дровине, как я понял лежит он в lpInBuffer, но разумеется не в открытом виде или я чёта не догоняю. Задача: Хоть и известно как легко отловить appkey из ring0 хочется сделать это из ring3. Возможно кто-то из тех кто этим занимался знает как и чем шифруется appkey до передачи дровине? надеюсь понятно объяснил. |
|
Создано: 24 ноября 2011 18:33 · Личное сообщение · #20 |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 01 декабря 2011 23:28 · Личное сообщение · #21 Nightshade пишет: Проще из драйвера доставать. это правда Вообщем нашкодил такой "тестовый" дров который достаёт апкей. Возникла идея сделать ещё сниффер файлов которые в контейнере лежат...а потом почему-то пришла идея ещё прикрутить туда либу которую оленевод выложил пару постами выше. В итоге получится автоанпакер. Желание имееца, но есть ли смысл? если подобное никому не нужно кроме меня то и писать думаю бестолку. В аттаче сам дров (не реверсите его - там убогий, кривой код ), KmdManager для его запуска и DebugView через который можно увидеть отсниффанный апкей. Тестил ток на Windows XP SP3, (кому не в лом в бсод уйти - затестите на вин7) в данный момент поддерживает версии стара > 5.5 и старовский драйвер должен быть обязательно запущен, если не уверены - запустите нужную прогу со старом на борту > закройте > откройте DebugView > запустите дров > опять стартаните прогу, после этого можно будет наблюдать в DebugView выловленный апкей. Вообщем хотелось бы узнать ваше мнение стоит ли реализовывать эту идею (ибо когда-то это было актуально) или отложить? 162e_01.12.2011_EXELAB.rU.tgz - sffs.zip | Сообщение посчитали полезным: yagello, _ruzmaz_, ClockMan, yanus0, hlmadip, obfuskator, Svinovod, organizm |
|
Создано: 02 декабря 2011 00:06 · Личное сообщение · #22 |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 02 декабря 2011 00:11 · Поправил: MasterSoft · Личное сообщение · #23 |
|
Создано: 02 декабря 2011 02:17 · Личное сообщение · #24 MasterSoft пишет: Желание имееца, но есть ли смысл? если подобное никому не нужно кроме меня то и писать думаю бестолку. когда возникают такие мысли то нужно встать отойти подальше от стенки,разбежатся и как долбанутся об неё чтоб вся дурь с головы вылетела, вопервых это нужно для тебя а выкладывать или нет после сделанного тебе решать ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. | Сообщение посчитали полезным: SReg, Dart Raiden |
|
Создано: 02 декабря 2011 08:55 · Личное сообщение · #25 MasterSoft пишет: Возникла идея сделать ещё сниффер файлов которые в контейнере лежат...а потом почему-то пришла идея ещё прикрутить туда либу которую оленевод выложил пару постами выше. В итоге получится автоанпакер. Такая либа уже существует Перехватывает пару апишек обращения к файлам и если файла не существует пытается распаковать. |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 02 декабря 2011 09:23 · Личное сообщение · #26 Zorn это никуя не правильно, перехватывать CreateFile, ReadFile всякий может. и сомневаюсь что оно что-то распаковывает, скорей просто дампит файл из памяти как написанно тут: а насчёт либы, я имел в виду прикрутить ту которую выложил оленевод, которая по докам от релоадед написанна. снифать файлы дров уже научился |
|
Создано: 02 декабря 2011 10:27 · Личное сообщение · #27 в старых релизах от тривиум была такая либа. При обращении к несуществующему файлу, она пыталась извлечь его из контейнера на хард. Я думаю, похукав соответствующие апи, можно и эту либу использовать для этих целей. Тем более что, судя по экспорту, ее можно использовать в приложениях с бездровным сффс вообще практически без лишних телодвижений. |
|
Создано: 02 декабря 2011 11:37 · Поправил: Nightshade · Личное сообщение · #28 |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 02 декабря 2011 11:53 · Личное сообщение · #29 Nightshade пишет: Да есть и либа такая и драйвер для мониторинга распаковываемых файлов. И анпакер старый вроде распаковывает все файлы. Про Zorn а. Он писал этот автораспаковщик. Я его даже использовал). Все он нормально распаковывает. Причем напрямую из контейнеров стара. опять началось... это паблик? если паблик то где он? где либа эта, где дров и где анпакер? всегда подобные вещи поражали, написал тулзу - молодец, можешь - выкладывай для общественности, не можешь если - чо тогда демагогию разводить по поводу что у вас есть, а чего у нас нет |
|
Создано: 02 декабря 2011 15:12 · Личное сообщение · #30 MasterSoft пишет: Zornэто никуя не правильно, перехватывать CreateFile, ReadFile всякий может. и сомневаюсь что оно что-то распаковывает, скорей просто дампит файл из памяти как написанно тут: --> Link <--. вообщем анпакера нет - это факт. Я вот про это писал. Когда у тебя прога достает имена файлов в процессе работы, а не как ты наивно думаешь сразу все, ты фиг сделаешь распаковщик контейнера. И будет никуя не правильно делать всякие драйвера и распаковщики. Надо будет именно хукать апи. Специально для тебя объясняю. Есть у тебя прога со снятым старом и контейнер. Ты знаешь аппкей. Но имена всех файлов чаще всего не знаешь. Что ты будешь делать? Логичнее похукать открытие файлов. И, при попытке открытия несуществующего файла, пытаться его распаковать из контейнера на лету. А потом вызываешь оригинальную апи и открываешь распакованный файл. | Сообщение посчитали полезным: Kylak |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 02 декабря 2011 19:39 · Личное сообщение · #31 Nightshade пишет: Специально для тебя объясняю. Есть у тебя прога со снятым старом и контейнер. Вот почему именно со снятым? ясен хер дров на нём работать не будет, обычно бывает как бы наоборот когда есть прога накрытая старом и контейнер. Nightshade пишет: Ты знаешь аппкей. Но имена всех файлов чаще всего не знаешь. Что ты будешь делать? Логичнее похукать открытие файлов. И, при попытке открытия несуществующего файла, пытаться его распаковать из контейнера на лету. плять, ну и разница какая? а ты хочешь сказать что хукнув пару апи ты сразу весь список получишь? и логичного я тут вообще ничего не вижу. разницы нет вообще. |
<< . 1 . 2 . 3 . >> |
eXeL@B —› Протекторы —› Распаковка Starforce SFFS ресурс файла (resource0.dat) |
Эта тема закрыта. Ответы больше не принимаются. |