Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+4 невидимых)

 eXeL@B —› Софт, инструменты —› Распаковка файлов из контейнеров SFFS
. 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 30 июня 2014 14:42 · Поправил: vden
· Личное сообщение · #1

upd:
Новый адрес
Релизы

----------------------------------

Утилита для распаковки файлов из контейнеров SFFS

В принципе все то же самое что сделали Reloaded и Olenevod хз-когда но теперь в GUI

Как это работет:

- перетаскиваем файл с ресурсами (*.dat) в окно

- вводим ПРАВИЛЬНЫЙ APPKEY (иначе расшифровка не пройдет, и может быть крэш)
APPKEY можно получить снифером (есть на форуме)

- получаем хэши для каждого файла в контейнере
без имен файлов содержимое файлов расшифровать не выйдет
имена можно достать сниффером который есть на этом форуме, но он сработает только для латиницы
в идеале нужен сниффер для 2-байтного юникода (UTF-16LE)

- жмем F5 и вводим имена файлов
найденные имена добавляются в список и убираются из поля для ввода
проект можно сохранять и добавлять имена позже

- на файле, для которого известно имя, щелкаем 2 раза, файл извлекается и открывается содержащая его папка

Основано на доках Reloaded. Главное отличие - код не рипался, потому что это Blowfish где каждый
блок хорится на позицию в файле.

Связанные материалы:
Набор: драйвер для перехвата APPKEY и имен файлов (только латинские) от MasterSoft

| Сообщение посчитали полезным: Gideon Vi, unknownproject, kampaster, ELF_7719116, verdizela, Veliant, BAHEK, Nightshade, sivorog, 4kusNick, Isaev, DimitarSerg, -Sanchez-, MarcElBichon, zNob, MasterSoft, v00doo, Jim DiGriz

Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 15:43 · Поправил: kampaster
· Личное сообщение · #2

Спасибо добрый человек!
Вечером, как попаду домой - сразу проверю



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 30 июня 2014 15:48
· Личное сообщение · #3

Помнится еще кейген серийных номеров был этого полуразваленного старфорса, не?



Ранг: 7.9 (гость), 3thx
Активность: 0.010
Статус: Участник

Создано: 30 июня 2014 15:58
· Личное сообщение · #4

Был, 5 версию TRiViUM закейгенили.




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 30 июня 2014 15:59 · Поправил: DimitarSerg
· Личное сообщение · #5

ELF_7719116
Хм.. в сорках ? Если нет, то конечно можно вырипать из кейгена от Trivium.

Vovan666 пишет:
Могу ошибаться, но рип тех кейгенов ни к чему не приведет, там кажется для каждой игры нужно брутить таблицу хэшей, а как и из чего...

Да-да, что-то такое. К тому же давным-давно пробовал "химичить" с кейгеном от тривиумов, но без разбора ВМ стара хер что выгорит

-----
ds




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 30 июня 2014 16:12
· Личное сообщение · #6

Могу ошибаться, но рип тех кейгенов ни к чему не приведет, там кажется для каждой игры нужно брутить таблицу хэшей, а как и из чего...



Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 16:35 · Поправил: kampaster
· Личное сообщение · #7

vden всё работает!
Извлекал файлы, которые были в папках, проверил файлы с русскими названиями.
Идеальный инструмент
Еще раз спасибо!



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 30 июня 2014 17:47
· Личное сообщение · #8

выложите таргеты на чем затестить




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 30 июня 2014 18:14 · Поправил: Nightshade
· Личное сообщение · #9

Запили брут имен и вообще идеал будет.
На больших списках виснет жутко.



Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 18:18
· Личное сообщение · #10

Nightshade пишет:
Запили брут имен и вообще идеал будет.

Бред! Имя длиной 25 символов паяльником брутить будешь (быстрее appkey сбрутить чем имена)
______
А вот чего реально не хватает, так это кнопки распаковать все известные файлы разом.
Просто если 1к и более файлов... по одному тыкать и каждый раз закрывать проводник не гуд.
Это реально нужная функция.

| Сообщение посчитали полезным: sivorog


Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 30 июня 2014 18:20
· Личное сообщение · #11

А насколько реален брут аппкея при известном имени файла?



Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 18:27
· Личное сообщение · #12

Nightshade пишет:
А насколько реален брут аппкея при известном имени файла?

Ну, товарищ mikeSP делал брут и похоронил его вместе с собой.
Так у него не оптимизированная версия выдавала 9417 ключей в секунду на хиленьком 4000dualCore
А если перенести на GPU? Там всего-то 18446744073709551616 вариантов
В общем сбрутить очень даже реально, но вот кто бы запилил такой брутер? Может скинемся и vden напишет ломалку



Ранг: 53.9 (постоянный), 33thx
Активность: 0.050
Статус: Участник

Создано: 30 июня 2014 18:42 · Поправил: deniskore
· Личное сообщение · #13

Если алго не оптимизированной версии у кого есть, скиньте, могу попробовать на OpenCL переписать.



Ранг: 49.7 (посетитель), 19thx
Активность: 0.050
Статус: Участник

Создано: 30 июня 2014 19:12 · Поправил: sivorog
· Личное сообщение · #14

SReg
АнглоКурс 1.0.0.0, брал с NNM Club, распаковывает!

З.Ы. надо бы добавить пункт меню Open Project.



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 30 июня 2014 19:25 · Поправил: unknownproject
· Личное сообщение · #15

kampaster пишет:
Так у него не оптимизированная версия выдавала 9417 ключей в секунду на хиленьком 4000dualCore

Сколько потоков юзалось ? Все рутины и циклы пихаем в потоки и увеличиваем продуктивность/скорость перебора в разы.

-----
TEST YOUR MIGHT





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 30 июня 2014 19:43
· Личное сообщение · #16

как SFFS расшифровывается?
это аналог: --> Link <-- ? c сырками

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 30 июня 2014 19:45
· Личное сообщение · #17

Isaev пишет:
как SFFS расшифровывается?

Star
Force
File
System



Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 19:46 · Поправил: kampaster
· Личное сообщение · #18

unknownproject пишет:
Сколько потоков юзалось ?

mikeSP деталей не расписывал, просто написал про скорость и на каком камушке.
Думаю всё делалось на скорую руку(просто проверить).
unknownproject пишет:
Все рутины и циклы пихаем в потоки и увеличиваем продуктивность/скорость перебора в разы.

Интересно. В общем нужно что бы кто-то написал корректную CPU версию, а deniskore потом бы пере собрал под OpenCL
Isaev пишет:
как SFFS расшифровывается?
это аналог: --> Link <-- ? c сырками

http://www.exelab.ru/faq/StarForce#SFFS




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 30 июня 2014 19:46
· Личное сообщение · #19

TryAga1n, спасибо, я так и предположил, но не нашёл подтверждений

Добавлено спустя 4 минуты
а VALID APPKEY это ключ который на купленном диске написан?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 19:51 · Поправил: kampaster
· Личное сообщение · #20

Isaev пишет:
Добавлено спустя 4 минуты
а VALID APPKEY это ключ который на купленном диске написан?

Нет
Сужу по тем дискам которые я покупал и проверял. Приходилось дёргать тулзами с форума.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 30 июня 2014 19:54
· Личное сообщение · #21

kampaster пишет:
Нет

тогда где мы его берем?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 19:58
· Личное сообщение · #22

Isaev пишет:

kampaster пишет:
Нет
тогда где мы его берем?

Цитата с первого поста:
APPKEY можно получить снифером (есть на форуме)
Ссыль найду если нужно.
_____
А если конкретно с диска, то не знаю даже, как выше писал - у меня не получилось так просто.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 30 июня 2014 19:59
· Личное сообщение · #23

kampaster пишет:
Ссыль найду если нужно.

да не плохо бы... её надо было в первый пост и прописать

Добавлено спустя 11 минут
оно?
--> Link <--

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 20:10 · Поправил: kampaster
· Личное сообщение · #24

1. запустить KmdManager
2. открыть файл дрова, appkey.sys или лучше SFSniffer.sys
3. Register, Run (под Win 7 не пробовал, возможны, как обычно, траблы)
4. стартануть DbgView, взвести флажок Capture Kernel
5. стартануть исследуемый софт
(желательно поделать в нём всё, что можно - например, все-все ролики посмотреть)
6. наблюдать в DbgView выловленную инфу
7. ...которую можно сохранить в файл

В общем там !.txt есть, с примером.
SFFS Decryptor + src (MASM) by Olenevod Вам не нужен, так как у нас есть лучше

d744_30.06.2014_EXELAB.rU.tgz - sffs_kit.zip
Isaev пишет:
Добавлено спустя 11 минут
оно?
--> Link <--

Этот комплектик получше будет. (Что прикрепил)

| Сообщение посчитали полезным: Isaev


Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 30 июня 2014 20:24
· Личное сообщение · #25

ага, нашёл и его
--> Link <--
в шапку киньте пару ссылок и почистите тему)

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh


| Сообщение посчитали полезным: DimitarSerg

Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 30 июня 2014 21:06 · Поправил: vden
· Личное сообщение · #26

Nightshade пишет:
Запили брут имен и вообще идеал будет.

Наверно нет смысла брутить имена. Брут будет очень долгий. Как и AppKey, который проще перехватить.

Кто хочет может написать брут:
md5("имя файла большими буквами") = хэш из таблицы
точнее md5 буфера юникодной строки (2 байта на символ) в верхнем регистре = хэш из таблицы

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


kampaster пишет:
А вот чего реально не хватает, так это кнопки распаковать все известные файлы разом.
Просто если 1к и более файлов... по одному тыкать и каждый раз закрывать проводник не гуд.
Это реально нужная функция.

Хотел сделать и даже начал. Но у меня мало времени.

sivorog пишет:
надо бы добавить пункт меню Open Project.

Проект и так можно открыть перетащив в окно. Если перетащить дат и проект уже существует, то открывается проект.

Isaev пишет:
это аналог: --> Link <-- ? c сырками

нет, это доки от релоадед, а извлекается там содержимое оверлея из protect.dll если правильно помню

APPKEY это не ключ с диска, это 8 байт которые в главном драйвере передаются при вызове драйвера виртуальной файловой системы. В результате какой трансформации я не знаю. Код похоже в вм, а времени копаться у меня нет.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 30 июня 2014 21:25
· Личное сообщение · #27

vden, я с SF никогда не имел дела, но почему сниф имен?
Они же самим им восстанавливаются как-то, не уж то такой безвариантный алго, что не реверснуть?
И зачем хеш таблица? если будут сами имена? тупо для проверки валидности?
брутить то по ней это вообще не правильный подход

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 42.3 (посетитель), 19thx
Активность: 0.040
Статус: Участник

Создано: 30 июня 2014 21:29 · Поправил: kampaster
· Личное сообщение · #28

В общем да, брут имён уже готов:
Скармливаем ресурсный фай SFFS Unpacker-у, вводим корректный APPKEY
Далее получаем список хешей, это у нас имена хешированы в MD5
Вытаскиваем список хешей чем попадётся(мне удобнее sysexp)
_____
Всё, теперь подсовываем список хешей либо Hashcat-у(AMD) или в EGB(Nvidia)
И уходим пить чай, на недельку или несколько миллионов лет
____
Можно ускорить если известна хоть какая инфа о путях и имени(да, пути тоже нужно знать что бы распаковать, иначе их тоже нужно будет брутить - что и убивает всю идею)
Так вот, что известно, то можно использовать атаку по маске и перебирать уже не ?u?l?d?s,n,n
(в моём примере это ?u?l?d?s,21,21, да и у большинства так будет, имена не короткие) а IMAGES\?u?d?s?u?d?s.BMP (грубо говоря) IMAGES\PLAYBUTTON.BMP

vden пишет:
Разве что слабо отличающиеся имена, как IMAGE\PICTURE001.BMP. IMAGE\PICTURE002.BMP

Так я об этом и написал Nightshad-у выше.
Брутить имена не реально, про это можно забыть(есть мелкие исключения, но ради них не нужно писать отдельную тулзу, всё есть - описал выше.)
Вот реальный пример:
SFSniffer: FILE: IMAGES\VOLUMETRACKBARSLIDER.BMP
Фигеть можно, как такую длину сбрутить
_____
vden а вот брут аппкея точно нужен, даже сейчас если ввести не верный кеу, то прога ругнётся, т.е проверки валидности есть, т.е брут уже почти готов. Автоид в руки и понеслась(только медленно)
Да и не важно что имена и пути не знаю, с этим в моём случае проще разобраться. А вот аппкей нужно подобрать.



Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 30 июня 2014 21:29 · Поправил: vden
· Личное сообщение · #29

@Isaev
Имя нигде не восстанавливается. Это и не нужно. Дополнительный плюс защите.


kampaster
Разве что слабо отличающиеся имена, как IMAGE\PICTURE001.BMP. IMAGE\PICTURE002.BMP

kampaster пишет:
а вот брут аппкея точно нужен, даже сейчас если ввести не верный кеу, то прога ругнётся, т.е проверки валидности есть, т.е брут уже почти готов

Брут точно займет больше времени чем перехватить драйвером MasterSoft'а.

Но если интересно побрутить, то вот некоторые моменты

заголовок контейнера
Code:
  1.     TSFFSHeader = packed record
  2.       { 00 } Sig: array [0 .. 3] of AnsiChar; // SFFS
  3.       { 04 } Ver: UInt32; // Version: 1
  4.       { 08 } FileCount: uint64; // Encrypted with AppKey
  5.       { 16   end }
  6.     end;


По смещению 8 uint64 - количество файлов в контейнере, нужно расшифровать Blowfish'em, в качестве ключа AppKey.
Т.к. количество файлов скорее всего <= 65536, то FileCount = 000000000000????
Я не уверен что есть эффективная атака которая позволит уменьшить количество комбинаций зная что первые 4 или 6 байт нули.



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 01 июля 2014 08:01
· Личное сообщение · #30

vden пишет:
Имя нигде не восстанавливается. Это и не нужно.

Как тогда в целевом ексешнике открывается нужный файл?
типа, CreateFile ("vasya.bmp",GENERIC_READ,....
заменяется на:
Code:
  1. PUSH OFFSET VASYA_BMP_MD5HASH
  2. CALL SFFS_handler
????


. 1 . 2 . 3 . >>
 eXeL@B —› Софт, инструменты —› Распаковка файлов из контейнеров SFFS
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати