stringtranslate.com

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

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

Подробности

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

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

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

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

Ограничения по размеру

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

История ранних веков

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

Шаблонные системы

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

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

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

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

Скриптовые системы

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

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

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

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

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

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

  1. ^ "СуперЗап" . Проверено 7 июня 2015 г.