Восстановление неизвестного типа

Форум по восстановлению данных при помощи профессиональных программ R-Studio, R-Studio for Mac и R-Studio for Linux
Usr

Восстановление неизвестного типа

Сообщение Usr » 28 фев 2010, 18:43

Здравствуйте,

Пытаюсь восстановить (специфический) неизвестный (для R-Studio 5.1) тип файлов.
Целые файлы аналогичного типа имеются.
Чтение раздела 2.2.2 в документации не помогло.

Прошу доходчиво и по шагам объяснить порядок действий для создания файла сигнатур.

Alt
Модератор Форума
Сообщения: 500
Зарегистрирован: 14 ноя 2008, 14:57
Контактная информация:

Re: Восстановление неизвестного типа

Сообщение Alt » 28 фев 2010, 23:48

Для составления самого простого файла описания сигнатур:
1. Находим сигнатуры (типичные куски файла) для начала и, если есть такая возможность, для конца файла. Находим смещение для сигнатур, т.е. расстояние в байтах от начала файла для сигнатур начала, и от конца файла для сигнатур конца. Не забываем, что отсчет начинается с 0.
Сигнатур может быть несколько. Чем больше их будет указано, тем точнее R-Studio найдет файлы.
Для этого можно использовать встроенный редактор.
2. Вписываем соответствующие значения в болванку файла вместо [...], без этих самых [], разумеется, но с " ".

<?xml version="1.0" encoding="utf-8"?>
<FileTypeList>
<FileType id="[id]" group="[group]" description="[desc]" extension="[ext]">
<Signature offset="[offset]"[Signature]</Signature>
</FileType>
</FileTypeList>

где
FileType id - любое число, главное, чтобы не было одинаковых, если будет несколько разных типов файлов.
group - Группа файлов, это либо одна из уже существующих, типа Multimedia Video, либо своя собственная. В первом случае файл появится в существующей группе, во втором - появится новая группа файлов.
description= Короткое описание файлов. Типа "My specific file type".
extension - расширение. Типа acd. Тогда к найденным файлам будет добавлено .acd
offset - смещение. Задается в целых десятичных числах.
[Signature] - сама сигнатура. Если элемент сигнатуры - шестнадцетеричное число, перед ним ставим \x, для знаков/букв/цифр не забываем, что F и f - это разные буквы.
Если сигнатура конца файла, то после элемента offset с его значением, вставляем from="end".
Если сигнатур несколько, то каждая из них занимает отдельную строку. <Signature offset="[offset]"[Signature]</Signature>
3. Называем файл как угодно, ставим расширение .xml и указываем путь к нему на закладке Tools -> Settings -> Main -> User's file types. Если в файле есть ошибки - R-Studio сообщит, что она не может загрузить файл.
4. На закладке Tools -> Settings -> Known File Types убеждаемся что у нас появилась новая группа файлов (если мы ее задавали) и соответствующий файл.
5. Сканируем (не забываем сохранять скан-информацию) и находим нухный файл в Extra Found Files.
Как-то вот так.

Usr

Re: Восстановление неизвестного типа

Сообщение Usr » 01 мар 2010, 20:22

Спасибо! Единственное, что неясно, как распознать сигнатуру

На примере начального куска "живого" файла (первые 512б в HEX):

014EB72047400010 0000B0110000C100
000000E01F0001E1 00235AAB82FFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
014EBFF047410010 0002B03E0001C100
00F001F00C050448 444D5688040FFFFC
FC1BF011F00A0508 48444D56FF1B433F
81F100F00C050441 432D338104043004
0090F200F0000CD3 F4DCFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
014EC8C047401F10 007FF019FFFFC100
00F00A6308C0AFC8 FFFFFFFFFF000180
00AEB43A35FFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF

Сигнатурой будет
014EB72047400010 0000B0110000C100
000000E01F0001E1 00235AAB82014EB

или только повторяющийся 014E?

И как его прописать правильно?

Заранее благодарен

Alt
Модератор Форума
Сообщения: 500
Зарегистрирован: 14 ноя 2008, 14:57
Контактная информация:

Re: Восстановление неизвестного типа

Сообщение Alt » 02 мар 2010, 00:00

Нужно начало НЕСКОЛЬКИХ файлов. Одинаковые куски, расположенные в одном и том же мест,е в разных файлах одного и того же типа и будут сигнатуры.

Usr

Re: Восстановление неизвестного типа

Сообщение Usr » 03 мар 2010, 09:32

Уважаемый Alt?

Соответственно,

Для такого одинакового куска начал нескольких файлов (первые 32 б)

01 51 24 B0 47 40 00 10 00 00 B0 11 00 00 C1 00
00 00 00 E0 1F 00 01 E1 00 23 5A AB 82
FF FF FF

Строка сигнатуры будет выглядеть так ? :

<Signature offset="4" \x 47 40 00 10 00 00 B0 11 00 00 C1 00
00 00 00 E0 1F 00 01 E1 00 23 5A AB 82
</Signature>

offset="4" или offset="3"? Вы писали,что отсчет начинается с нуля

Alt
Модератор Форума
Сообщения: 500
Зарегистрирован: 14 ноя 2008, 14:57
Контактная информация:

Re: Восстановление неизвестного типа

Сообщение Alt » 03 мар 2010, 19:34

Usr писал(а): Строка сигнатуры будет выглядеть так ? :

<Signature offset="4" \x 47 40 00 10 00 00 B0 11 00 00 C1 00
00 00 00 E0 1F 00 01 E1 00 23 5A AB 82
</Signature>
я
Вот так:

<Signature offset="4"\x47\x40\x00\x10\x00\x00\xB0\x11\x00\x00\xC1\x00\x00\x00\x00\xE0\x1F\x00\x01\xE1\x00\x23\x5A\xAB\x82</Signature>

offset="4"

Удачи в восстановлении данных!

Usr
Сообщения: 1
Зарегистрирован: 03 мар 2010, 16:35

Re: Восстановление неизвестного типа

Сообщение Usr » 06 мар 2010, 16:03

Спасибо, уважаемый Alt, все прекрасно получилось.
Файлы определились в верном количестве, однако размеры указываются значительно большие (в разы).

Не восстанавливаю, ибо пока нет свободного пространства.

Есть подозрение, что R-Studio не совсем корректно формирует заголовок образа.

Теоретически, возможно ли вручную тем же WinHex'ом решить проблему обрезанием "заголовка" и "хвоста" результата восстановления по сигнатурам или у Р-Студио есть какое-то штатное решение?

Alt
Модератор Форума
Сообщения: 500
Зарегистрирован: 14 ноя 2008, 14:57
Контактная информация:

Re: Восстановление неизвестного типа

Сообщение Alt » 06 мар 2010, 18:28

Скорее всего, проблема не в заголовке, а в окончании файла. Дело в том, что R-Studio при таком алгоритме поиска определяет конец файла по началу следующего. Соответственно, найденный файл может быть намного больше реального. Файл можно "обрезать" и в редакторе R-Studio.
Но можно попробовать найти сигнатуру конца файла, тогда R-Studio определит конец файла по ней. Для этого надо проанализировать конец файлов, аналогично их начала, только отсчитывая смещение от конца. В строку Signature надо будет добавить атрибут from="end".

SlamLayer
Сообщения: 6
Зарегистрирован: 24 янв 2013, 09:43

Re: Восстановление неизвестного типа

Сообщение SlamLayer » 24 янв 2013, 10:54

Здравствуйте, прошу помощи в создании пользовательской сигнатуры. Очень нужно найти файл Adobe Indesign CS5 с флешки у которой погиб корневой каталог. Сейчас тренируюсь в поиске файла этого типа на другой пустой флешке, путем копирования туда файла искомого типа и поиска его сканом по сигнатуре.

Код: Выделить всё

06 06 ed f5 d8 1d 46 e5 bd 31 ef e7 fe 74 b7 1d
44 4f 43 55 4d 45 4e 54 01 70 0f 00 00 07 00 00
00 05 00 00 00 01 00 00 00 ed 6b 06 00 00 00 00
Вот так выглядит начало искомого файла в hex редакторе. Анализировав несколько файлов решил принять за сигнатуру вот такое значение 06 06 ed f5 d8
Далее пользуясь встроенным редактором создал пользовательский тип файла.

Код: Выделить всё

<FileTypeList version="2.0">
<FileType id="50001" group="Graphics, Picture" description="Indesign grafic files" features="" extension="indd">
<Begin combine="AND">
<Signature>
\x06\x06\xed\xf5\xd8
</Signature>
</Begin>
<End combine="AND">
<Signature offset="8">
\xc0\x7d\xc0\x00\x00\xd2\xfc\x14
</Signature>
</End>
</FileType>
</FileTypeList>
Проблема в том что при сканировании находится два файла огромного размера, - 2074062848 Bytes. Подозреваю что ошибка в конечной сигнатуре. Подскажите пожалуйста что не так?

Alt
Модератор Форума
Сообщения: 500
Зарегистрирован: 14 ноя 2008, 14:57
Контактная информация:

Re: Восстановление неизвестного типа

Сообщение Alt » 24 янв 2013, 12:59

Надо бы посмотреть на конец файла.

Ответить