· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Поиск цепочки байт

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Июн 14, 2004 12:41:16

Поиск цепочки байт

У меня была необходимость найти в большом бинарном файле цепочку байт такого вида:
4BXXXXXXXXXXXXXX50XXXXXXXXXXXXXX4BXXXXXXXXXXXXXX4D
где
4B, 50, 4B, 4D - известные байты;
где XX - любой байт

количество неизвестных байт XX я знал точно.

Так как интернета не было (сгорел модем), а было очень нужно найти, пришлось поисковик писать самому
(здесь вот он: http://www.kulibin.rhlmod.ru/ByteFinder.rar)
Мой поисковик ищет байты по такому шаблону 4B[7]50[7]4B[7]4D
где [7] - количество неизвестных промежуточных байт.

Отсюда вопрос??????
Нет ли профессионального поисковика цепочки байт, с какими нибудь наворотами?
А навароты типа такие, чтобы известные байты местами переставлялись при поиске...
и еще чтобы длина неизвестных байт задавалась массивом, например вместо [7] - [5..7].
Иначе, чего же мне самому до ума доводить свой поисковик написанный на коленках...


Дата: Июн 14, 2004 17:47:24

Вроде HIEW это делает...
Или на моём сайте есть (без наворотов):

http://www.codexxi.com/MyTools.html - Patcher


Дата: Июн 14, 2004 18:29:09

Алгоритм зовется pattern matching и описан, к примеру, у Седжвика. Если интересно обсудить тему с ассемблерной точки зрения, то пойдет Майкл Абраш со своей "Graphics programming black book" - там нет pattern matching и конечных автоматов, но есть Бойер-Мур на ассемблере и ля-ля о repne scasb


Дата: Июн 14, 2004 18:37:46

> Нет ли профессионального поисковика цепочки байт, с какими нибудь наворотами?
есть. это perl.


Дата: Июн 14, 2004 19:05:15

kaspersky

На этом же форуме я давал полный сорс regex-поисковика на С. Там pcre используются. Писал для PE Sniffer, но NEOx так ничего и не сказал, поэтому я увял...


Дата: Июн 14, 2004 19:06:33


Дата: Июн 15, 2004 22:01:57

AsmGuru62
Спасибо программка легкая и действительно без наваротов.
kaspersky
Это ирония насчет perl?
volodya
Алгоритм конечно хорошо, но хотелось бы готовую прогу - на черный день.
Спасибо мужики за активность.


Дата: Июн 15, 2004 22:20:36

Это ирония насчет perl?
Более мощных средств синтаксического анализа, чем в Perl я не видил. Для соответствующих задач, нужно использовать соответствующие инструменты, а не лабать на асме 3 дня, то что на Perl за 10 минут пишется :)))


Дата: Июн 15, 2004 22:27:23

Mad_C
Ну так понятно, что сам чего хочешь напишешь, для себя.
Меня и моя прога устраивает, и доработать могу....
Но зачем делать-то, чего можно не делать :)
Наверня-ка с такими проблемами народ сталкивался и раньше и успешно их решил.
Неужели ниша программ поисковиков не заполнена?????


Дата: Июн 15, 2004 22:38:14

Egorgiy

Там тебе и полная готовая прога лежит. Надо только скомпилить :)


Дата: Июн 15, 2004 22:47:46

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


Дата: Июн 16, 2004 01:54:18

интересно, а почему перл?
ведь регулярные выражения есть еще в php и c#?
просвятите, плиз, а то с перлом я не знаком...


Дата: Июн 16, 2004 03:46:41

Потому что синтаксис regex в Perl - это стандарт де-факто.


Дата: Июн 16, 2004 21:35:28

volodya
полная готовая? :)


Дата: Июн 16, 2004 21:43:38

Разуваем глаза и смотрим:
http://www.wasm.ru/forum/index.php?action=vthread&forum=4&topic=4489

Сколько можно повторять одно и тоже, господи...
P.S. Сорри, у мя очень плохое настроение и я не додумался до более вежливых выражений.

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.063