Распаковка данных из-под StarForce 3.7.11

Тема в разделе "WASM.RESEARCH", создана пользователем kibi, 15 ноя 2005.

  1. kibi

    kibi New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    6
    День добрый!



    Вопрос касательно защиты StarForce - на руках есть оригинальный диск (не игра - электронный архив одного журнала), защищённый StarForce'ом. Так вот, нет ли здесь специалиста, способного помочь вопрос с распаковкой данных?



    В интернете есть множество информации, как скопировать такой защищённый диск или запустить его с эмулятора (которые, кстати с SF 3.7.11 почему-то не работают). Однако это не решает проблему доставания данных. Дело в том, что архив сделан с использованием жутко тормозящей оболочки, которая показывает DJVU файлы. Однако открыть эти файлы в каком-либо другом просмотрщике не получается, так как они находятся в зашифрованном виде...
     
  2. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    а простой дамп после запуска программы ничего не даёт?
     
  3. kibi

    kibi New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    6
    Архив - на DVD, и насколько я понимаю, 2,5 гигабайта данных в память разом не подгружаются. Они скорее на лету распаковываются старфорсовским драйвером.



    Плюс ко всему я не являюсь профессиональным пользователем специального ПО для снятия дампов памяти/дизассемблирования и т.п. - чукча не писатель, чукча читатель :dntknw:(



    Могу только сказать, что на диске находятся файлы part1.dat и part2.dat, первые четыре байта которых - SFFS - наверное сигнатура "StarForce File System"...
     
  4. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Скорее всего просто грузят файлы с виртуальной файловой системы в память, там дешифруют (а может даже и дешифровать не надо) и после этого отображают. Если это стандартный DJVU, есть вероятность, что их можно найти по стандартному DJVU'шному заголовку и прямо из памяти сдампить. Хотя и нудный это процесс - если руками делать.



    Как вариант для простого юзера - средствО автоматизации (чтобы странички скроллить)+тулзу для автоматического снятия скриншотов с окна+прогу для сборки панорам (хех, а аффтары, наверное, даже и не догадываются, КАКИЕ панорамы можно при желании собирать)+распознавалку текста. Если такой путь подходит - попробуй прежде всего SnagIt, там есть автоматическое снятие полного скрина скроллируемого окна (хотя и кривенько оно сделано - но иногда лучше так, чем никак).
     
  5. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    Ставь хук на CreateFile, перехватывай хендлы и читай контент (правда с новыми версиями откровенно размер через GetFileSize не получишь, но SetFilePointer на начало и читай в бОльший буфер - а потом проверь сколько считалось).

    Это справедливо, если ты имеешь дело с sffs.

    Если это аналог оверлея (как в Protect.dll в играх) - смотри последние 8 байт (28 бит под размер, 4 старших под ID) - первые 4 байт из восьми - пакованый размер, вторые - распакованый (так было и вроде осталось без изменений).

    СФ имеет драйвер-фильтр который обрабатывает сам IRP и дальше не передает - но для программы он должен оставаться прозрачным, поэтому ты можешь скопировать контент в память через ReadFile или через CreateFileMapping. Или просто открытые хендлы процесса юзай.
     
  6. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    Хотя если ты говоришь про 2.5 гига - точно не оверлей :)

    Тогда с хендлами видимо удобнее будет или с маппингом
     
  7. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    может просто по архиву каким-нибудь mr.ripper'ом пройтись?
     
  8. kibi

    kibi New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    6
    CyberManiac

    Копировать через буфер обмена смысла не имеет. Потому как DJVU уже является сжатым файлом и повторное пережатие только ухудшит качество. Это как предложение снять защиту с DRM WMA через захват с колонок и пережатие в MP3.



    Не говоря о том, что это бешенная по своим объёмам работа. - 40 лет по 12 номеров, по 80 страниц - почти 40000 страниц.



    По поводу перехватов и тому подобного - это всё здорово, но кто-нибудь из вас пытался снять StarForce? И не в том смысле, что отвязать от диска или сделать копию, а именно снять, то есть получить диск с исходным содержимым - незашифрованными файлами данных и exe/dll? Судя по статьям о SF, разработчики защиты не лохи и используют множество анти-... техник.



    И я, повторюсь ещё раз не являюсь кракером/хакером и т.п. Так что советы куда повесить хук - это пустой разговор... Максимум, что я могу сделать - социальная инженерия. :)) Но это не про компы.



    Реальная помощь - если кто знает об утилите, расшифровывающей пакет с данными (SFFS)...
     
  9. kibi

    kibi New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    6
    Да, кстати, получить дамп с сигнатурами DJVU не выйдет, т.к просмотрщик, что защищён SF, в свою очередь имеет собственный контейнер, где и хранятся djvu файлы - "электронную книгу" проприетарного формата (*.box файл).



    Правда на сайте разработчика выложена в свободный доступ демо версия проги, создающей эти box-файлы и тестовый архив. Прога эта жутко глючная и без возможности экстракции файлов из своего архива. Но, по-видимому, практически не защищённая (CCT Archive Manager). И из неё можно вытащить код распаковщика. Опять же говорю только теоретически, т.к. сам необходимой квалификацией для подобных действий не обладаю. :dntknw:(
     
  10. angel_death

    angel_death New Member

    Публикаций:
    0
    Регистрация:
    22 сен 2005
    Сообщения:
    1
    я сомневаюсь что возможен универсальный распаковщик SFFS,

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

    kibi New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    6
    Может это как-то облегчит работу - вчера вышедшая новая версия Daemon Tools успешно подцепляет образ диска и обходит-таки SF 3.7 (с отключением CD/DVD, но обходит). Так что, всем заинтересовавшимся могу передать на исследование необходимые материалы.



    Вот только при установке Daemon Tools пишет, что не совместим с Soft ICE и другими дебагерами. Хм...
     
  12. Anonymous000

    Anonymous000 New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2005
    Сообщения:
    1
    А если судить по другим статьям - СФ это дыра на дыре (взять хотя бы оставляемые в системе драйвера, дающие доступ кому угодно в ядро и т.д, RPC и прочее) - они полные лохи, не думающие, что кроме них и их защиты есть еще пользователи компов. При каждой проверке диска время системы отстает на 20 сек. Если запускать несколько раз на рабочей станции в составе домена - при расхождении времени домен не пустит и все - и это называется "используют много анти техник"?

    Основная антитехника - антипользователь.
     
  13. kibi

    kibi New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    6
    Anonymous000

    Согласен. Но что же всё-таки на счёт сабжа?
     
  14. barsergey

    barsergey New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2005
    Сообщения:
    2
    SFFS - это, скорее всего, single file file-system. Если спросить у гугля, он по этому вопросу много чего выдает.

    Однако сабж остается.
     
  15. V0ldemAr

    V0ldemAr New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2005
    Сообщения:
    31
    Адрес:
    Ukraine
    Хм, незнаю как насчет СФ 3.7 но в СФ 3.4 небыло никаких SFFS. Даные были как-то шифрованы и это решалось или загрузкой Длл или CreateRemoteThread где делалось CreateFile(crypted); GetFileSize(); ReadFile(crypted); .... после чего в буффере был полностью расшифрованый файл.



    PS: DT 4.0 справляется с СФ 3.6 (только при физическом отключении сдрома) 3.7 не видел :/
     
  16. barsergey

    barsergey New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2005
    Сообщения:
    2
    А нельзя скинуть файлик, который бы все это делал? Так как второй чукча тоже не читатель, от писатель.

    Был бы о-о-о-чень благодарен.