Что такое hex редактор
Перейти к содержимому

Что такое hex редактор

Hex-редактор

Hex-редактор (англ.  hex-editor ) — приложение для редактирования данных, в котором данные представлены в «сыром виде» — как последовательность байтов. Он может быть как отдельным самостоятельным приложением, так и компонентом другого, более сложного приложения, такого как дизассемблер, отладчик, интегрированная среда разработки и т. п.

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

  • Наибольшую популярность получили платформы с 8-битным байтом. В таких платформах байт может принимать 2 8 =256 значений в диапазоне от 0 до 255. Число 25610, записанное в шестнадцатеричной системе, является круглым трёхзначным числом — 10016.
    • То, что это число является трёхзначным, означает, что для представления любого числа в диапазоне 0—255 требуется не более 2 разрядов.
    • То, что это число является круглым, означает, что для представления будут использованы все возможные комбинации цифр, и не останется неиспользованных (например, в случае использования десятичной системы, неиспользованными остаются комбинации, соответствующие числам от 256 до 999).

    Данные, которые отображает и позволяет редактировать Hex-редактор, могут быть:

      диска,
    • содержимым отдельного файла,
    • содержимым оперативной памяти,
    • содержимым виртуального адресного пространства процесса,
    • и так далее.

    Содержание

    Интерфейс

    Hex-редактор отображает данные в виде матрицы, каждая ячейка которой соответствует одному байту, записанному в шестнадцатеричной системе счисления в виде двухзначного числа (с ведущим нулём, если он требуется). Количество столбцов матрицы является степенью двойки, чаще всего используются 16 или 8 колонок, иногда 4. Число строк зависит от количества байтов, которые требуется отобразить/отредактировать. В случае использования 16 колонок одна строка соответствует одному параграфу.

    Кроме этого, часто используются дополнительные элементы:

    • Слева от матрицы отображается линейка (на рисунке показана синим цветом) из чисел: каждой строчке соответствует число, означающее адрес/смещение первого байта этой строчки. Шаг адресов при этом равен количеству колонок.
    • Сверху от матрицы отображается другая линейка (на рисунке показана зелёным цветом) из чисел: над каждой колонкой отображается смещение байта, стоящего в этой колонке, относительно первого байта соответствующей строчки. Сумма числа, соответствующего i -той строке, и числа, соответствующего j -той колонке является адресом/смещением байта (i;j) , стоящего на пересечении взятой строки и взятого столбца.
    • Справа от матрицы могут отображаться те же данные, но в другой интерпретации. Наиболее часто используется альтернативное отображение данных как текста в кодировке ASCII (на рисунке показаны цветом фуксия), при этом байты, значения которых соответствуют непечатным символам, отображаются как точки ( · ). Многие редакторы позволяют выбрать произвольную кодировку для режима отображения текста. Вариант с отображением данных как текста встречается в Hex-редакторах общего назначения. В редакторах же, являющихся частью какой-либо специальной программы, например отладчика, обычно доступны другие режимы, такие как листинга дизассемблирвания, подсказок об адресах, и другие специфичные для приложения режимы.

    Большинство редакторов позволяют совершать редактирование как в левой половине, так и в правой (при её наличии). При этом совершаемые изменения когерентны [1] .

    Простые редакторы позволяют только менять значение выбранных байтов по отдельности. Продвинутые — редактировать совокупности байтов как цельные блоки [2] , выполнять поиск по последовательностям или шаблонам последовательностей.

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

    Использование

    Hex-редакторы используются для редактирования не-текстовых данных, когда специализированной программы для редактирования имеющихся данных либо нет, либо её применение неоправданно или нежелательно. Примером может служить внесение изменений в скомпилированную программу без перекомпиляции последней. Так, с помощью Hex-редактора можно изменить значения жестко вшитых в код программы строковых и числовых констант, если правильно определить их расположение.

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

    Поскольку Hex-редактор является достаточно универсальным инструментом, описать все варианты его применения не представляется возможным.

    Какие hex-редакторы можно посоветовать начинающим? Список из 5-ти лучших

    hex-редакторДоброго всем дня.

    Многие почему-то считают, что работа с hex-редакторами — это удел профессионалов и начинающим пользователям соваться в них не следует. Но, на мой взгляд, если иметь хотя бы базовые навыки работы с ПК, и представлять за чем вам нужен hex-редактор — то почему нет?!

    С помощью программы подобного рода можно изменить любой файл, вне зависимости от его типа (многие руководства и гайды содержат в себе информацию по изменению того или иного файла с помощью hex-редактора)! Правда, пользователю необходимо иметь хотя бы основное понятие о шестнадцатеричной системе (данные в hex-редакторе представляются именно в ней). Впрочем, базовые знания по ней дают на уроках информатике в школе, и наверное, многие слышали и имеют представление о ней (поэтому ее комментировать в этой статье я не стану). Итак, приведу лучшие hex-редакторы для начинающих (на мой скромный взгляд).

    1) Free Hex Editor Neo

    2016-06-05 15_42_15-free hex neo

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

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

    Кроме всего прочего, программа поддерживает русский язык, имеет продуманный и интуитивно-понятный интерфейс. Даже начинающий пользователь сможет разобраться и начать работать с утилитой. В общем, рекомендую всем, кто начинает свое знакомство с hex-редакторами.

    2) WinHex

    2016-06-05 15_57_33-WinHex

    Этот редактор, к сожалению, условно-бесплатен, зато он — один из самых универсальных, поддерживает кучу разнообразных опций и возможностей (часть из которых сложно найти у конкурентов).

    В режиме редактора дисков позволяет работать с: HDD, дискетками, флешками, DVD, ZIP-дисками и пр. Поддерживает файловые системы: NTFS, FAT16, FAT32, CDFS.

    Не могу не отметить удобные инструменты для анализа: кроме основного окна, можно подключить дополнительные с различными калькуляторами, инструментами для поиска и анализирования структуры файла. В общем, подойдет как новичкам, так и опытным пользователям. Программа поддерживает русский язык ( выбрать следующее меню: Help / Setup / Russian ).

    WinHex, кроме своих самых обычных функций (которые поддерживают аналогичные программы), позволяет производить «клонирование» дисков и удалять информацию с них так, чтобы ее уже никто и никогда не смог восстановить!

    3) HxD Hex Editor

    2016-06-05 16_06_13-HxD

    Бесплатный и довольно мощный редактор бинарных файлов. Поддерживает все основные кодировки (ANSI, DOS/IBM-ASCII и EBCDIC), файлы практически любого размера (кстати, редактор позволяет кроме файлов редактировать оперативную память, напрямую записывать изменения на винчестер!).

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

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

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

    4) HexCmp

    2016-06-05 16_53_05-HexCmp

    HexCmp — эта небольшая утилита совмещает в себе сразу 2 программы: первая позволяет сравнивать бинарные файлы между собой, а вторая — это hex-редактор. Это очень ценная опция, когда нужно найти различия в разных файлах, помогает исследовать различную структуру самых разных типов файлов.

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

    Кроме обычного сравнения, можно вести сравнение и в текстовом варианте (или даже в обоих сразу!). Программа достаточно гибка, позволяет настроить под себя цветовую гамму, указать кнопки быстрого вызова. Если настроить программу подобающим образом — то работать с ней можно вообще без мышки! В общем, рекомендую к ознакомлению всем начинающим «проверяльщикам» hex-редакторов и структуры файлов.

    5) Hex Workshop

    2016-06-05 17_02_39-hexworkshop

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

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

    Так же в арсенале редактора есть конвертер между бинарной, двоичной и шестнадцатеричной системами. В общем-то, неплохой арсенал для hex-редактора. Пожалуй, единственный минус — программа условно-бесплатная…

    Лучшие Hex редакторы, калькуляторы и конвертеры

    Лучшие Hex редакторы, калькуляторы и конвертеры

    У людей сложилось мнение, что работать с hex редакторами могут лишь профессионалы своего дела и программисты, а для обывателя это нечто ненужное и непонятное. На деле же это удобный инструмент, который определённо пригодится геймерам и простым пользователям, если необходимо устранить ошибку или баг в утилите. По своей сути – редактор является декодером 16-ричного кода. Мы с вами пользуемся для написания чисел 10-ричным, машина для кодирования всей информации использует 2-ичный код, а затем это всё конвертируется в 16-ричный, чтобы пользователю было проще разбираться. На деле редакторы скорее нужны именно новичкам, ведь профессионалы используют мультифункциональные утилиты с возможностью применения сразу нескольких парадигм, если те необходимы им для программирования. Давайте разберёмся, какие калькуляторы и конверторы лучше всего выбирать.

    Hex Editor Neo

    2016-06-05-15_42_15-free-hex-neo

    Простейший и самый популярный hex редактор в мире, притом с возможностью конвертации кода в другие системы кодировки, а также чтения бинарных файлов системы. Весь функционал Hex Editor Neo заключается в открытие файлов, произведение некоторых изменений и сохранение в том же или другом формате, по желанию пользователя. Однако присутствует одно удобство – история изменений, сохраняющаяся даже после закрытия утилиты. Таки, и не придётся вновь доходить до каких-то своих решений. Они будут м образом, вы можете завтра вернуться к той части кода, что сегодня не успели завершить прямо перед вами на экране. Такой Хекс редактор удобен новичкам и профессионалам.

    HxD Hex Editor 2016-06-05-16_06_13-HxD

    Бесплатный, но всё ещё достаточно мощный редактор для бинарных файлов поддерживающий основные кодировки, вроде ANSI или ASCII, зачастую используется как дополнение к более функциональным калькуляторам и конверторам. Воспринимает файлы без ограничения размеров, а главное – позволяет изменять оперативную память, сразу же записывая любые нововведения на жёсткий диск. А удобный и эргономичный интерфейс, продуманный создателями, лишний раз упрощает работу пользователя. В HxD Hex Editor нет классического нагромождения инструментов и всё устроено за счёт простой системы шторок, уже за это можно скачать hex редактор.

    Hex Workshop 2016-06-05-17_02_39-hexworkshop

    Один из простых редакторов, подходящих для компьютеров с любым железом. Именно его небольшая требовательность к ресурсам системы и удобный интерфейс, пусть и с некоторым наплывом объектного дизайна Майкрософт начала 2000-х, сделала программу столь популярной в качестве переносного редактора. Если вам необходимо подгрузить утилиту на флешку, а затем уже на месте разобраться с проблемой в коде, то лучшего решения просто не найти, ведь приложение имеет в том числе и портативную версию с ещё меньшими системными требованиями. А также имеется мобильная версия, и вы можете hex workshop скачать прямо на свой смартфон.

    WinHex 2016-06-05-15_57_33-WinHex

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

    HexCmp 2016-06-05-16_53_05-HexCmp

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

    Hex редактор онлайн Image 001

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

    Конвертер Hex в DEC, BIN и наоборот Image 002

    В качестве конвертера hex to dec, hex to bin подойдёт любая из вышеописанных утилит. Достаточно загрузить в них файл и выбрать пункт «сохранить как», а там подобрать подходящий формат, и утилита сама преобразует все данные в нужное расширение, после чего вы сможете открыть файл уже подходящего типа.

    Также есть и специализированное решение:

    Конвертер Hex в ASCII Text Image 001

    Конвертер hex to text или его ещё называют hex decoder необходим для перевода 16-ричного кода в нормальный текст, и зачастую используется лишь новичками, так как профессионалы применяют утилиты с параллельным переводом. Подобный функционал имеется во всех описанных выше продуктах.

    Hex калькулятор онлайн Image 002

    Подобный калькулятор онлайн бывает крайне полезен, когда вам нужно быстро совершить расчёты в 16-ной системе исчисления. Вот ссылка на удобный и хороший онлайн Hex калькультор:

    Вывод

    Выбирайте любую описанную утилиту по желанию или пользуйтесь онлайн-аналогами, если необходимость возникает не часто. hex editor neo – станет лучшим выбором как для новичков, так и для профессионалов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *