Сейчас на форуме: Lohmaty, tyns777 (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Исследование формата сжатия
Посл.ответ Сообщение

Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 мая 2017 12:15
· Личное сообщение · #1

Добрый день, уважаемые.

Вопрос мой таков, а точнее предыстория к нему: столкнулся с Backup Log'ами MSSQL Server'а, архивированными стандартными средствами этого самого сервера. Сторонние утилиты не применялись. Глянул заголовки файлов, не нашел стандартных для формата MTF сигнатур TAPE, MSTL, MQTL и прочих... понятно почему, потому что все сжато. несжатыми остались лишь служебные маркеры SFMB, где хранятся обычно контрольные суммы и адреса точек ленты для позиционирования (понятно, что лента никакая не используется, все на харде, но формат есть формат).

Еще немного предыстории: нашел в этом сжатом файле маркеры сжатых стримов. Вот фрагмент моих записей об этом:
список найденных хедеров

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

1 блок. возможный блок данных:

81 ** ++ ++ -- -- -- --:

** может быть таким: 02, 04, 06, 0E, 20, 80

если ** = 0E, то после "-- -- -- --" мы имеем Deflate block

2 блок. служебка какая то:

8C 00 00 00 01 00 01 00 -- -- -- -- ++ ++:

3 блок. еще какая то служебка. обычно как заполнитель используется:

84 00 ++ ++:

А теперь сам вопрос. Кто-нибудь видел что-то подобное? интересует в первую очередь корреляция ** = {02, 04, 06, 0E, 20, 80} - то есть как определить формат сжатого стрима по этим меджик намберам...



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

Создано: 10 мая 2017 15:22
· Личное сообщение · #2

Compression algo is proprietary.
Говорит гугл.
Прогони через binwalk, он рипнет стримы дефлэйт итд если найдёт.

Добавлено спустя 8 минут
А может и нет...
http://laytongraphics.com/mtf/MTF_100a.PDF



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 мая 2017 15:41
· Личное сообщение · #3

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



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

Создано: 10 мая 2017 17:37
· Личное сообщение · #4

CountZero пример файла скинь



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 мая 2017 10:38
· Личное сообщение · #5

милости прошу)

0d35_11.05.2017_EXELAB.rU.tgz - 2.bak



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

Создано: 12 мая 2017 17:22
· Личное сообщение · #6

http://nishi.dreamhosters.com/u/msqlbk_v0.rar

7a56_12.05.2017_EXELAB.rU.tgz - 2_Uncompressed.bak



Ранг: 16.3 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 12 мая 2017 18:41
· Личное сообщение · #7

LinXP
в запросы на взлом не пытались, весной Вам кто поможет

Добавлено спустя 1 минуту
да не пашет оно



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

Создано: 12 мая 2017 20:42
· Личное сообщение · #8

VT-x ты тредом ошибся.
___
Всё разжимает!



Ранг: 16.3 (новичок), 2thx
Активность: 0.030
Статус: Участник

Создано: 12 мая 2017 21:06 · Поправил: VT-x
· Личное сообщение · #9

Че разжимает? LZNT2 - 4 тож ))))
Это Вы товарищь глупости несете



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

Создано: 12 мая 2017 21:08
· Личное сообщение · #10

Файл CountZero разжимается.



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 мая 2017 11:00
· Личное сообщение · #11

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

Добавлено спустя 4 часа 32 минуты
хммм.... да этож тот же XpressDecode, который представлен в 7zip. один в один.



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 ноября 2017 15:23
· Личное сообщение · #12

время некропостинга: в версии сервера 2014+ изменился формат маркеров
81->21
84->24
8C->2C
Также, заголовок каждого из маркеров стал жирнее на 20 байт
для 21 (данные) лишние 20 байт идут после контрольной суммы
для 24 - просто 20 нулевых байт в конце блока
для 2C - 20 нулевых байт после первых 4 байт заголовка, перед 01 00 01 00

возможно, кому то это поможет.


 eXeL@B —› Вопросы новичков —› Исследование формата сжатия
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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