Шестнадцатеричный редактор - Hex editor

А шестнадцатеричный редактор (или же редактор двоичных файлов или же байтовый редактор) это компьютерная программа что позволяет манипулировать фундаментальными двоичный данные, составляющие компьютерный файл. Название «шестнадцатеричный» происходит от «шестнадцатеричный ': стандартный числовой формат для представления двоичных данных. Типичный компьютерный файл занимает несколько областей на пластине (ах) жесткого диска, содержимое которых объединяется в файл. Редакторы Hex, предназначенные для разбирать и редактировать сектор данные из физических сегментов дискета или же жесткие диски иногда называют отраслевые редакторы или же дисковые редакторы.

Подробности

Скриншот обычного шестнадцатеричного редактора (шестнадцатеричный редактор Паскаля Риго (Pixel))

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

Редакторы Hex могут быть использованы для исправления данные повреждены из-за проблем с системой или прикладной программой, когда может быть нецелесообразно писать специальную программу для внесения исправлений. Они полезны для обхода проверок редактирования приложений, которые могут предотвратить исправление ошибочных данных. Они использовались для «исправления» исполняемых программ с целью изменения или добавления нескольких инструкций в качестве альтернативы перекомпиляции. Программные исправления для Мэйнфрейм IBM системы иногда распространяются как исправления, а не как полная копия затронутой программы.

В большинстве приложений шестнадцатеричного редактора данные компьютерного файла представляется как шестнадцатеричный значения сгруппированы в 4 группы по 4 байты (или две группы по 8 байтов), за которыми следует одна группа из 16 печатных ASCII символы, соответствующие каждой паре шестнадцатеричных значений (каждому байту). Непечатаемые символы ASCII (например, Bell) и символы, занимающие более одного пробела (например, табуляция), обычно представлены точкой (".") В следующем поле ASCII.

Ранняя история

С момента изобретения компьютеров и их различного использования было создано множество форматов файлов. В некоторых особых обстоятельствах было удобно иметь доступ к данным в виде ряда необработанных цифр. Программа под названием SUPERZAP (AMASPZAP) была доступна для IBM. OS / 360 системы, которые могли редактировать необработанные записи на диске, а также понимали формат исполняемых файлов.[1] Пара шестнадцатеричный цифры (каждая пара может представлять байт) являются текущим стандартом, потому что подавляющее большинство машин и файловых форматов, используемых сегодня, обрабатывают данные в единицах или группах по 8-битных байтов. Шестнадцатеричный, а также восьмеричный являются общими, потому что эти цифры позволяют увидеть, какие биты в байте установлены. Сегодня десятичное представление вместо шестнадцатеричного становится вторым популярным вариантом из-за более знакомой числовой базы и дополнительных вспомогательных инструментов, таких как системы шаблонов и инспекторы данных, которые уменьшают преимущества шестнадцатеричного числового формата.[нужна цитата ]

Системы шаблонов

Пример простого шестнадцатеричного редактора на основе шаблонов.

Некоторые шестнадцатеричные редакторы предлагают систему шаблонов, которая может представлять последовательность байтов двоичный файл структурированным способом, охватывающим часть или весь требуемый формат файла. Обычно GUI для шаблона - это отдельное окно инструментов рядом с главным шестнадцатеричным редактором. Немного обмануть двигатель системы состоят только из такого графического интерфейса пользователя.

Обычно шаблон представлен в виде списка помеченных текстовых полей, так что отдельные значения файла можно легко редактировать в соответствующем формате (например, в виде строки, цвета или десятичного числа). Без поддержки шаблонов необходимо найти правильное смещение в файле, где хранится значение, которое необходимо изменить. Кроме того, для редактирования необработанного шестнадцатеричного числа может потребоваться преобразование из шестнадцатеричного в десятичное с учетом порядка байтов или других особенностей преобразования типов данных.

Шаблоны можно хранить в виде файлов, чтобы пользователи могли обмениваться ими, и они часто публикуются на веб-сайте производителя. Большинство, если не все шестнадцатеричные редакторы определяют свой собственный формат файла шаблона; нет никакой тенденции поддерживать стандарт или даже совместимость между различными форматами в дикой природе.

Системы сценариев

У продвинутых шестнадцатеричных редакторов есть системы сценариев, которые позволяют пользователю создавать макросы, как функциональность, как последовательность команд пользовательского интерфейса для автоматизации общих задач. Это можно использовать для предоставления скриптов, которые автоматически исправляют файлы (например, читерство игр, моддинг или исправления продукта, предоставляемые сообществом) или для написания более сложных / интеллектуальных шаблонов.

Языки сценариев сильно различаются, часто это языки конкретных продуктов, напоминающие пакетные файлы MS-DOS, и системы, поддерживающие полнофункциональные языки сценариев, такие как Lua или же Python.

Системы плагинов

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

Смотрите также

Рекомендации

  1. ^ «СуперЗап». Получено 7 июня, 2015.