LINUX.ORG.RU

Как искать и читать сигнатуры?

 , , , ,


1

1

Мне нужно прочитать медиафайлы. Например конечная сигнатура jpeg должна быть 0xFF 0xD9, я ввожу это в поиск HEXEDIT он говорит что это invalid hexa string. Как это делается? Кроме этого надо будет прочитать еще метаинформацию.

PS вероятно надо переводить сигнатуры в 16-ричный вид?

PS по такому виду типа FF D8 FF тоже ничего не ищецца:(

Кстати поддердиваются ли в hexedit регулярки? Например FF в начале строки как найти?



Последнее исправление: no2700 (всего исправлений: 4)

Тебе нужен нормальный HEX-редактор, в Windows очень классный – HxD, его можно запускать и под Wine в твоём дистрибутиве.

Увы, но как выяснилось, под Linux-дистрибутивы нормальных HEX-редакторов – нет, исключением является развечто проприетарный и коммерческий 010 Editor.

Вариант, наполненный болью и компромиссами – Okteta.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

спасибо. лан, у меня на работе винда стоит, не буду заморачиваться тогда

no2700
() автор топика

каким-нибудь пыхутоном может. с готовым софтом плохо.

mittorn ★★★★★
()

Скорее всего дело в редакторе, под пингвина с ними весьма плохо.

Zhbert ★★★★★
()
Ответ на: комментарий от no2700

Не удивляет, что у тебя ничего не вышло. Хоть-бы на скриншот как следует посмотрел.

mcview - это просмотрщик, «встроенный» в Midnight commander.

andytux ★★★★★
()
Ответ на: комментарий от andytux

сорри. подскажи плз, как его там включить? навигацию я там знаю. Вот у меня выделена в списке картинка, дальше что делать?

no2700
() автор топика
Ответ на: комментарий от andytux

все, нашел методом тыка.но он кажется кодировки неверно отображает. Виду такую хрень: ^@^@

no2700
() автор топика
Ответ на: комментарий от no2700

Не дальше, а самым первым делом, не только в MC, в любой программе, жмешь «F1» - читаешь справку. Внизу окна MC подсказка, какие команды выполняются при нажатии первых десяти F-кнопок.

Ставишь указатель на файл. Жмешь «F3», чтобы этот файл открылся в просмотрщике. В зависимости от типа файла, могут сработать «встроенные ассоциации» и откроется в другой «ассоциированной программе». В этом случае открываешь по сочетанию клавиш «shift+F3». Откроется как «обычный файл». Опять смотришь подсказку внизу панелей. Жмешь «F4», чтобы переключился в «шестнадцатиричный вид»

andytux ★★★★★
()
Ответ на: комментарий от gremlin_the_red

все я нашел это надо было открывать в «просмотрщике» по f3

как конкретно вводить в строку поиска, по какой маске, чтобы сигнатуру найти?

0xFF 0xD9 - вот это чтобы найти что надо писать в строке поиска?

no2700
() автор топика
Ответ на: комментарий от no2700

*ить, в скриншот хоть глянь, я тебе только для этого его рисовал. Нехера тебе делать «шестнадцатиричном мире», ни букв, ни картинок не видишь.

andytux ★★★★★
()
Ответ на: комментарий от andytux

помоги плз. мы уже на последнем шаге:) я все нашел только формат строки поиска теперь надо задать

как конкретно вводить в строку поиска, по какой маске, чтобы сигнатуру найти?

0xFF 0xD9 - вот это чтобы найти что надо писать в строке поиска?

И какой вид поиска при этом выбирать, там есть опции «обычный», «шестнадцетиречный», «по шаблону» и прочее

no2700
() автор топика
Ответ на: комментарий от andytux

а, то есть надо полностью ввводить 8 символов с пробелом, по части он не ищет? Щас попробую

no2700
() автор топика
Ответ на: комментарий от no2700

Верхний правый угол скриншота. Только у меня там «d8 ff». Видно, что шаблон выбран «шестнадцатиричный». В нижнем правом углу выполнен поиск «JFIF» в текстовом виде.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от no2700

Вот только что в mc сделал на первом попавшемся jpeg-e F3 (вызов mcview), F4 (переключение на 16-ричку), F7 (поиск), выбрал режим «Шестнадцатиричный», ввёл FF D9 (именно в таком порядке и с пробелом между байтами) — благополучно нашёлся маркер в конце файла.

Если ты делал так же, то либо это не JPEG, либо он битый.

P.S. И да, если во время работы mcview (но не при открытом диалоге поиска) нажать F1, оно показывает справку С ПРИМЕРОМ 16-ричного поиска.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от andytux

JFIF у меня ищет.

Я что то не совсем понял как сделать выбор шестнадцатиричного шаблона. Я когда открываю окно поиска, ввожу 0xff 0xd9 а потом стрелкой вниз выбираю шестнадцетиричный и жму enter, вероятно он не выбирается, это надо как то отдельно ставить опцию, да?

no2700
() автор топика
Ответ на: комментарий от hobbit

выбрал режим «Шестнадцатиричный»

Вот это как ты делаешь?

no2700
() автор топика
Ответ на: комментарий от no2700

а потом стрелкой вниз выбираю шестнадцетиричный и жму enter

В порядке бреда — после стрелок, но до Энтера нажми ещё пробел, чтобы нужный режим реально выбрался (можно, кстати, и мышью, если она у тебя в mc работает).

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ура, получилось, спасибо!

Говоришь так будто бы это стандартный способ выбора опции нажать пробел, ага:)

no2700
() автор топика
Ответ на: комментарий от no2700

В TUI-программах — довольно-таки стандартный.

Ну и тыканье мышью с большой вероятностью тоже должно работать, по крайней мере, в эмуляторе терминала, даже через SSH. Тогда пробел не нужен.

P.S. И даже в гуёвых программах, если по чекбоксам ходить табуляцией, пробел их триггерит, вот только что на своей кутешной программе проверил. Правда, к radio buttons (полям однозначного выбора) это не относится, там текущий пункт автоматически следует за стрелкой.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 3)
Ответ на: комментарий от no2700

Это стандартный. А вот "«мышиный способ» выглядит весьма курьезно.

А в GUI ты чекбоксы чем устанавливаешь?

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 2)
Ответ на: комментарий от mmindworker

Я и говорю — стандарт для TUI (и с оговоркой для GUI).

hobbit ★★★★★
()
Ответ на: комментарий от peregrine

то есть ты мне предлагаешь ее переписывать? lol

no2700
() автор топика
26 августа 2022 г.

fq https://github.com/wader/fq

Tool, language and decoders for working with binary data.

fq is inspired by the well known jq tool and language and allows you to work with binary formats the same way you would using jq. In addition it can present data like a hex viewer, transform, slice and concatenate binary data. It also supports nested formats and has an interactive REPL with auto-completion.

greenman ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.