Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Поиск определённых HEX-значений в файлах - как?

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Ciber SLasH



Joined: 20 Aug 2005
Posts: 209
Location: С.-Петербург

Post (Separately) Posted: Fri Oct 30, 2015 00:36    Post subject: Поиск определённых HEX-значений в файлах - как? Reply with quote

Приветствую всех!
Нужно за 1 раз найти файлы, в которых встречаются HEX-последовательности из множества.
Например есть множество HEX-значений: 0x123, 0x456, 0x789. Как за 1 проход найти все файлы, в которых есть какое-нибудь значение из множества?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 30, 2015 11:02    Post subject: Reply with quote

Странные у тебя HEX-значения. Они не могут превышать 0xFF, это же значения байтов. Тебе точно надо искать именно байты? Или тупо текстовые строки, которые выглядят как записи в формате 0x123?
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Oct 30, 2015 12:18    Post subject: Reply with quote

Можно взять Synwrite и искать regex:

(\x0123 | \x0234 | \x0fff)

искать диалогом Поиск в файлах.
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 30, 2015 12:40    Post subject: Reply with quote

Как вариант, можно взять плагин типа File Descriptions и на вкладке плагинов задать несколько условий присутствия в содержимом файла нужных подстрок.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Ciber SLasH



Joined: 20 Aug 2005
Posts: 209
Location: С.-Петербург

Post (Separately) Posted: Fri Oct 30, 2015 14:03    Post subject: Reply with quote

Мне нужно именно искать HEX-ы в файлах.
Например сигнатуру JPEG-a в файле. Т.е. искать нужно HEX-последовательности: FFD8FF.
Но это только в качестве примера.
А на практике нужно искать через поиск файлы, в которых встречаются HEX-последовательности из множества.
Сейчас я это делаю в несколько проходов:
1) запускаю поиск. Ставлю галочку "С текстом:" вписываю одну HEX-последовательность
2) ставлю галочку HEX-код
3) начать поиск
и так для каждой HEX-последовательности.
А хотелось бы в один проход.

Пробовал искать с помощью регулярных выражений, но так получается в разы дольше и поле "С текстом:" имеет ограничение на кол-во символов, а их кол-во резко увеличивается по сравнению с HEX-кодом, т.к. приходится перед каждым байтом добавлять \x.
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Wed Nov 11, 2015 01:50    Post subject: Reply with quote

Задача понятна. Цель какая?
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Ciber SLasH



Joined: 20 Aug 2005
Posts: 209
Location: С.-Петербург

Post (Separately) Posted: Wed Nov 11, 2015 01:57    Post subject: Reply with quote

Цель: поиск из папок FOUND.XXXX, которые оставляет за собой чекдиск, в файлах *.CHK известных HEX-последовательностей, которые идентифицируют тип файла. Для дальнейшего переименования расширения CHK в известное расширение, соответствующее структуре файла.

И не только... есть программы, которые выдают на выходе файлы без расширений, а дело оператора - определить тип файла и назначить ему соответствующее расширение.
Не все файлы можно идентифицировать по сигнатуре заголовка, т.ч. в каких-то файлах приходится, помимо заголовка, искать HEX-последовательности в теле файла, чтобы определить его тип.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group