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

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Восстановление неизвестного типа

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

by Alt » 10 Mar 2015, 20:22

А можно именно эти файлы посмотреть? raptorbck (at) gmail (dot) com

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

by 123456 » 09 Mar 2015, 02:09

А вот не ищется и всё тут!
С началом файла проблем нет, находит. Но потом выдаёт 5632 байта (11 секторов диска) и ничего более.
Ищу файлы torrent как-то так:

<?xml version="1.0" encoding="utf-8"?>
<FileTypeList>
<FileType id="50001" group="Internet related files" description="Torrent file" extension="torrent">
<Signature offset="0">d8\x3aannounce</Signature>
<Signature from="end" offset="4">e\x00\x00\x00</Signature>
</FileType>
</FileTypeList>

Все торент файлы заканчиваются на "e", "ee" или "eee", то есть в конце гарантирована только одна е (#65). Можно смириться с ненахождением некоторых редких файлов которые будут занимать весь сектор 4 кб или кратное ему, то есть не будет в конце файла места для #000000. 3 нулевых байта в конце файла выбраны после поиска по другим торент файлам. Ни один файл не содержал #65 00 00 00.

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

by Alt » 31 Jan 2013, 12:44

Да нет, обычный С-шный код, особо много не насмотришь.

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

by SlamLayer » 29 Jan 2013, 14:12

Спасибо, за внимание к моей проблеме. А еще очень любопытно узнать как работают встроенные поисковики по типам файлов. Они тоже работают на базе xml? Если да, очень бы хотелось увидеть к ним листинги программ.

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

by Alt » 29 Jan 2013, 12:58

Тут некоторая проблема нарисовалась с поиском 2-х файловых сигнатур, сейчас ее решаем.

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

by SlamLayer » 28 Jan 2013, 12:09

Я в понедельник посмотрю более внимательно.
Спасибо, буду ждать.

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

by Alt » 26 Jan 2013, 20:28

SlamLayer wrote:На примере поиска файла PDF
Я в понедельник посмотрю более внимательно.

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

by Alt » 26 Jan 2013, 20:21

SlamLayer wrote: 1.Если со смещением ОТ все понятно, то зачем нужно смещение ДО?
Сигнатура может быть и не на конце файла, а на определенном расстоянии от него. В этом случае смещение поможет.
SlamLayer wrote: 2.Если единственно возможная выбранная сигнатура повторяется в файле два раза (всегда два на одном и том же месте), как сделать чтобы поиск пропускал вторую. А то получается два файла, второй из которых не рабочий.
3.Зачем нужны логические операторы AND и OR?
А вот для этого и нужны логические операторы. Файл определяется как сигнатура на одном смещении AND сигнатура на другом смещении. А может быть так, что сигнатуры не всегда одинаковы во всех файлах. Тогда файл определяется как сигнатура 1 OR сигнатура 2.

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

by SlamLayer » 25 Jan 2013, 14:21

На примере поиска файла PDF

Code: Select all

<FileTypeList version="2.0">
<FileType id="50001" group="Graphics, Picture" description="PDF" features="" extension="pdf">
<Begin combine="AND">
<Signature>
\x25PDF
</Signature>
<Signature offset="8">
\x25\x25EOF;            хочу чтобы при обнаружении 1й сигнатуры конца файла, программа решила что это еще не конец и продолжила поиск дальше.
</Signature>
</Begin>
<End combine="AND">
<Signature offset="5">
\x25\x25EOF;            после второго обнаружения сигнатуры конца файла, запись файла в папку.
</Signature>
</End>
</FileType>
</FileTypeList>
По этой программе ничего не находит. Если делать стандартную программку. Находить первую-неверную сигнатуру конца и обрезает по ней файл.

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

by SlamLayer » 25 Jan 2013, 10:49

Спасибо большое, все заработало!
Подскажите пожалуйста для общего развития:
1.Если со смещением ОТ все понятно, то зачем нужно смещение ДО?
2.Если единственно возможная выбранная сигнатура повторяется в файле два раза (всегда два на одном и том же месте), как сделать чтобы поиск пропускал вторую. А то получается два файла, второй из которых не рабочий.
3.Зачем нужны логические операторы AND и OR?

Top