Windows Hex Viewer/Editor с картой данных и поиском регулярных выражений, желательно Portable

Я пытаюсь найти шестнадцатеричный просмотрщик/редактор Windows, который:

  • Может отображать двоичное/шестнадцатеричное содержимое файла или диска в формате, аналогичном тому, как WinMerge дает обзор различий между каждым файлом (т. е. цвет там, где есть 1 [Dec]/не 0 [Hex], и отсутствие цвета там, где там 0)
  • Разрешает поиск регулярных выражений в двоичном/шестнадцатеричном содержимом файла или диска для совпадений с чем-то вроде0+$

  • [В идеале] Портативный, т.е. без установки

... и бесплатно. Слишком много, чтобы просить?

Только 1/3 требований, поэтому я публикую это как комментарий. Плагин FAR Manager + HexEditor позволит вам иметь портативный шестнадцатеричный просмотрщик и редактор. Однако он не поддерживает цветное сравнение файлов или поиск по регулярным выражениям.

Ответы (2)

Тем, кто ищет такой инструмент, могу порекомендовать свой Hextor ( https://github.com/digitalw0lf/hextor/releases/latest ).

Может открывать файлы, логические и физические диски;
Он может отображать графическое (растровое) представление файла (умещает около 100 МБ данных на экране);
Поддерживает поиск шаблонов, подобных RegExp для бинарных данных, например {u8:0:1..1000}— найти до 1000 нулевых байтов;
И многое другое, например просмотр структуры и сравнение файлов.

Это бесплатно, и вы можете скопировать установленное приложение для запуска со съемного носителя.

(upd) Это мой любимый проект, поэтому отзывы и предложения приветствуются.

Добро пожаловать, Григорий! Кажется, вы являетесь автором этого инструмента. Если это верно, пожалуйста, укажите свою принадлежность в своем ответе (обновление: теперь раскрыто!) . Кстати, очень красивый инструмент! Проголосовал! Спасибо, и еще раз добро пожаловать!
И просто так. Вроде бы именно то, о чем меня просили (хотя сейчас я пытаюсь вспомнить, почему я это просил ;) ), и вроде бы написано на первом изученном мной языке графического интерфейса. Принятый ответ - ваш "приз", с моей благодарностью.
@user66001 user66001 Когда я прочитал ответ Григория на ваш почти 6-летний вопрос, я был рад за Григория и за себя, потому что это выглядит как очень полезный инструмент. Но я был обеспокоен тем, что вы можете не увидеть ответ Григория и не узнать об их прекрасном проекте, поскольку вы так давно разместили свой вопрос. Теплая улыбка осветила мое лицо, когда я увидел ваш комментарий о том, что вы получили ответ Григория. :)

Я рекомендую Notepad++ с плагином Hex Editor .

Он полностью портативный, бесплатный (бесплатно), с открытым исходным кодом и отвечает всем вашим требованиям.

Обновление (2021 г.): за прошедшие годы я обнаружил довольно много ошибок как в Notepad++, так и в его плагине Hex Editor. Так и другие. Из-за этого в настоящее время в этих пакетах содержится более 1000 неисправленных ошибок, и многие из них, вероятно, никогда не будут исправлены. Таким образом, это все еще работоспособное решение, но я также предлагаю рассмотреть альтернативы.

Альтернативы включают:

  1. Hex Editor XVI32 , который отвечает всем вашим требованиям (включая переносимость), за исключением того, что в нем нет полноценного поиска по регулярным выражениям. У него есть поиск по подстановочным знакам, который имеет свои плюсы и минусы по сравнению с регулярным выражением.
  2. HXD Hex Editor , отвечающий всем вашим требованиям (включая переносимость), за исключением того, что в нем нет поиска по регулярным выражениям (или мне не удалось заставить его работать!).

Кроме того, как вы обнаружили, WinMerge обладает отличными возможностями редактирования шестнадцатеричных данных. Я рекомендую форк WinMerge2011 , так как он имеет значительные улучшения и исправления ошибок по сравнению с оригинальным WinMerge.

Если вы ищете редактор секторов (для редактирования необработанных секторов на диске), то я рекомендую Active Disk Editor . Это довольно удивительно. Это позволит вам просматривать необработанные сектора в макете, аналогичном тому, который WinMerge2011 использует для просмотра файлов. Он включает в себя полнофункциональные регулярные выражения (регулярные выражения) и поиск по подстановочным знакам для максимальной гибкости. Это бесплатное (бесплатное программное обеспечение) и доступно как для Windows, так и для Linux. Хорошая вещь.

Спасибо RockPaperLizard (или, лучше сказать, Шелдону;), я проверю Notepad++ и этот плагин. Также оба WinMerge (до сих пор использовали это только для сравнения файлов). Однако, поскольку я пробовал XVI32 и HxD, мне интересно, находимся ли мы на одной странице в отношении «отображения» данных. Под этим я подразумеваю визуальный обзор того, где находятся данные (не заполненные нулями сектора) и где их нет (заполненные нулями). Другим примером желаемого представления могут быть некоторые программы дефрагментации и то, как они показывают файлы, которые являются смежными / не являются / свободным пространством и т. Д. Это то, о чем вы думали, отвечая?
Извините, XVI32, похоже, не может открыть диск, а не просто файл. Имеют ли Notepad++ и WinMerge одинаковые ограничения?
@ user66001 Возможно, вы ищете редактор секторов?
Возможно, RockPaperLizard. Я не знал об этой подкатегории? шестнадцатеричного редактора до сих пор, но после просмотра наборы функций этого типа программы кажутся более подходящими для моей цели. Есть ли у вас также какие-либо предложения для них, которые соответствуют моим критериям?
@ user66001 Да, абсолютно. Я добавил свой ответ выше, чтобы включить эту рекомендацию.
Спасибо RockPaperLizard. Не предполагается , что Active Disk Editor поставляется в портативной версии?
@user66001 user66001 Насколько мне известно, нет.
Штопать. С другой стороны, в отношении моего второго требования к этому программному обеспечению. Я попытался выяснить, как сопоставить 0[Dec]/00[Hex] в регулярном выражении с этим программным обеспечением, и попытался найти больше примеров строк регулярных выражений, помимо того, что Active предоставляет в своей документации (чтобы попытаться решить мою проблему). ), не повезло. Поскольку кажется, что эта программа допускает только регулярное выражение ASCII, но то, что ASCII-представление пространства с нулевым полем представляет собой ., я не могу сопоставить с ним. Кроме того, я упустил это - как посмотреть карту данных на диске с помощью Active Disk Editor (согласно моему первому требованию)?