Программа программатор от zte и hex редактор. Шестнадцатеричный редактор

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

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

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

Скачать бесплатно полную русскую версию HxD Hex Editor с официального сайта без регистрации и смс.

Системные требования

  • Поддерживаемые ОС: Windows 8.1, Vista, 10, 8, 7, XP
  • Разрядность: 64 bit, x86, 32 bit

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

Немного теории

Любые данные хранятся в памяти ПК в виде машинных слов, иначе - байтов. Каждый включает в себя 8 битов (двоичных разрядов, которые принимают значение либо "0", либо "1"). Путем математических вычислений можно понять, что в одном байте может быть записано число в диапазоне от 0 до 255. Если перевести 255 в шестнадцатеричную оно преобразуется в FF. То есть для отображения любого машинного слова очень удобно использовать шестнадцатеричный вид представления. Отсюда и название группы программ - шестнадцатеричный редактор.

Основные элементы программ

Кроме описанной выше матрицы, в интерфейсе представленной группы приложений могут быть и иные средства:

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

McAfee FileInsight

Этот HEX-редактор абсолютно бесплатен. Работает только в операционных системах семейства Windows. В продукте имеется весь джентльменский набор, такой как просмотр и редактирование файла. При этом программа обладает приятным и удобным интерфейсом.

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

Помимо прочего, этот HEX-редатор предоставляет множество алгоритмов обработки кода для обхода встроенной разработчиками защиты. Прежде всего, нужно обратить внимание на декодирование методов обфускации, таких как add, xor, Base64, shift. Скрипты, с которыми поставляется приложение, ломают подобную криптозащиту с легкостью. Большую часть действий можно автоматизировать, написав простые сценарии на JS или Python. Иногда и создавать ничего нового не требуется, ибо база оных набрана внушительная.

Хоть FileInsight и считается одним из лучших инструментов для реверс-инжиниринга, имеется в программе и огромный недостаток - невозможность обработки файлов, превышающих 400 Мб.

Hex Editor Neo

Этот HEX-редактор распространяется в двух версиях: бесплатной и продвинутой. Продукт с freeware-лицензией - качественный, но непримечательный. Из особенностей можно выделить широкие настройки интерфейса и цветовых схем. Профессиональный вариант предоставляет больше полезных возможностей, которые особо актуальны во время анализа

Например, пользователю предоставляются возможности декодирования программ, закриптованных общими алгоритмами. Дополнительно к этому есть функции, позволяющие редактировать локальные ресурсы (оперативная память, NTFS-потоки, жесткие диски). Автоматизация процессов реализована с помощью скриптов VBS и JS.

Однако самой главной особенностью программы является дизассемблер, который может работать с x64, x86 и.NET-файлами. Еще одна функция, не предоставляемая конкурентами, - создание патча на основе сравнения двух исполняемых-бинарников. Безусловно впечатляет, но если сравнивать с FileInsight, Neo все равно проигрывает. Однако NEO может работать с файлами большого объема.

Hiew

HEX-редактор Hiew не имеет бесплатной версии. Разработками занимается команда из России. Начинает свою историю продукт еще со времен 16-битных приложений для DOS и Windows 3.1. Hiew часто используют профессионалы, занимающиеся вопросами компьютерной и информационной безопасности. Причины понятны: весь спектр возможностей для редактирования и просмотра исполняемых бинарных файлов Windows, а также откомпилированных программ Linux (ELF).

Еще одна примечательная функция, помогающая в реверс-инжиниринге, - встроенные в Hiew дизассемблер и ассемблер. Причем они работают, как с x86, так и с x86_64-приложениями, поддерживаются и инструкции процессоров С большими файлами редактор справляется без каких-либо сложностей, позволяет выполнять низкоуровневое изменение данных на физических HDD.

Большое количество действий может быть автоматизировано. Для этого программисты встроили возможность создания скриптов, клавиатурных макросов и API-функций, которые используются для вызова внутренних процедур из внешних приложений. Но до безоговорочной победы на ниве шестнадцатеричных редакторов Hiew все-таки не добрался. Его интерфейс полностью выполнен в стиле DOS, а отрисовкой окон занимается (или консоль, если говорить о Linux-системах).

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

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

Примечание : Как факт, но в свое время для правки стандартных инсталляторов asp.net 1.1 приходилось корректировать двоичный код. К примеру, для того, чтобы сделать один из элементов управления полем для ввода пароля.

В данном обзоре собраны одни из лучших бесплатных hex-редакторов под разные потребности.

Обзор бесплатных шестнадцатеричных редакторов

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

HxD отличный шестнадцатеричный hex-редактор

Одной из лучших утилит для редактирования двоичного кода является . Во-первых, программа портативная и не нуждается в установке, что особенно важно, при частой необходимости в правке исполняемых файлов. Во-вторых, она имеет приятный интерфейс. В-третьих, HxD обрабатывает большие файлы без задержек и "замираний экрана". Кроме того, добавьте к этому возможности неограниченной истории правок, быстрого поиска и замены, сравнение бинарных файлов, полную поддержку ANSI, DOS/IBM-ASCII и EBCDIC. И еще десяток возможностей, некоторые из которых будут перечислены ниже. HxD также позволяет редактировать не только диск, но и оперативную память. Как факт, но такой набор возможностей делает программу опасной игрушкой в руках начинающих пользователей. Кроме того, приложения безопасности могут так же реагировать на его действия, но опытные пользователи понимают, что это происходит из-за специфики обращения к данным и использования потенциально опасных функций.

В целом, HxD отлично подойдет тем, кто часто имеет дело с различным двоичным кодом.

Другие возможности и характеристики:

  • Безопасный доступ к файлам, которые используют другие программы
  • Генератор контрольных сумм: Checksum, CRCs, Custom CRC, SHA-1, SHA-512, MD5, ...
  • Экспорт данных в различные форматы
  • Вставка шаблонов кодов
  • Возможность безопасного удаления файлов.
  • Разделение или объединение файлов
  • Различные виды группировок в столбцах (1,2,4,8,16 байт)
  • Подсветка измененных данных
  • Быстрый переход к адресу
  • Поддержка копирования данных буфера обмена из других программ: Visual Studio/Visual C++, WinHex, HexWorkshop, ...
  • Закладки
  • И многое другое...

Hex-редактор Hexplorer аналог HxD с возможностью просмотра изображений, при анализе стеганографии

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

В целом, Hexplorer подойдет не только тем, кто часто редактирует бинарный код, но и тем, кто использует нестандартные способы использовать двоичный код.

Основные возможности и характеристики:

  • Шесть цветовых схем интерфейса под различные задачи.
  • Неограниченная история команд
  • x86 дизассемблер
  • Импорт и экспорт в 20 различных форматов двоичных файлов, включая Intel Hex, Motorola S-Record, стандарт Atmel и т.д.
  • Возможность найти повторяющиеся закономерности в данных
  • Просмотр изображений
  • Фильтрация текста из двоичных данных
  • Поисковой алгоритм Бойера-Мура
  • Быстрая навигация по адресам
  • Позволяет создавать структуры простых типов данных, например, целых чисел или чисел с плавающей точкой
  • Генератор псевдослучайных чисел
  • Позволяет записывать макросы (сценарии) для автоматизации задач

Другие hex-редакторы

Существуют и другие hex-редакторы, которые так же заслуживают внимания и могут пригодится.

Шестнадцатеричный редактор XVI32 простой и удобный

XVI32 - это бесплатный шестнадцатеричный редактор, название которого произошло от римской цифры XVI (16).

  • Поддерживает скрипты для автоматизации задач.
  • Поиск по шаблону
  • ASCII/ANSI
  • Конвертация символов на основе пользовательских определений
  • Запись отдельных блоков в файл
  • И другие возможности...
  • Хранит открытый файл в памяти, так что с большими файлами будут проблемы.
  • Как таковой, нет истории команд. Это означает, что все вносимые изменения вносятся "как есть" и вам придется их записывать или запоминать

Поддерживает Windows 9x/NT/2000/XP/Vista/7

Hex-редактор HexEdit со специализированным калькулятором

HexEdit еще один бесплатный двоичный редактор от MiTeC.

  • Не нужно устанавливать (портативная)
  • Редактор оперативной памяти и диска
  • Специализированный калькулятор
  • Умеет сравнивать файлы
  • Может сбрасывать данные из оперативной памяти на диск (создавать дамп)
  • И другие...
  • Хранит открытые файлы в памяти

Поддерживает Windows 2000 - Windows 7

Cygnus Free простой hex-редактор

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

  • Быстрая и простая в использовании
  • Быстрый поиск и замены
  • Drag & drop
  • И другие возможности...
  • Хранит в оперативной памяти открытый файл со всеми вытекающими проблемами
  • Технической поддержки у бесплатной версии нет
  • Обрезана по функциональности

Поддерживает Windows

Руководство по быстрому выбору (ссылки на скачивание бесплатных шестнадцатеричных hex-редакторов)

HxD

Поддержка множества языков, включая русский. Редактор диска и оперативной памяти. Быстро редактирует файлы больших размеров. Позволяет генерировать контрольные суммы. Умеет сравнивать файлы. Умеет безопасно удалять, склеивать и разделять файлы.
Все изменения немедленно сохраняются на диске. Поэтому, перед редактированием всегда создавайте резервные копии файлов.
http://mh-nexus.de/en/hxd/
http://mh-nexus.de/en/downloads.php?product=HxD
850 KB 1.7.7.0 Unrestricted freeware Windows 95 - 7

Hexplorer

Редактор оперативной памяти и диска. Дополнительные функции, такие как преобразование Фурье. Просмотр изображений. Умеет распознавать заголовки NTFS/FAT, BMP и так далее. Поддерживает макросы для автоматизации задач
Держит открытый файл полностью в памяти, из-за чего большие файлы сложно редактировать. По умолчанию настройки шрифтов и отображения выбраны не очень удачно.

Иногда возникает необходимость внести изменения в двоичный файл. Для этого используются так называемые hex-редакторы. Цель данного руководства - описать основные методы работы с ними и ответить на наиболее часто задаваемые вопросы.

Выбор редактора

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

  • Работает в DOS и Windows
  • Содержит встроенные ассемблер и дизассемблер
  • Поддерживает кодировки текста DOS-866, Win-1251, KOI-8r и определяемые пользователем
  • Имеет широкие возможности настройки
  • Является бесплатным с открытыми исходными кодами

Скачать его можно на домашней странице проекта: http://www.agcproduct.com/rus/products/qview/ .

Основное окно QView состоит из заголовка (вверху), рабочей области и панели функциональных клавиш (внизу). Для управления используются клавиатура и мышь. QView позволяет работать с данными в текстовом режиме, режиме шестнадцатеричного дампа и режиме дизассемблера. Режимы последовательно переключаются нажатием Enter или F4 (или щелчком левой кнопки мыши по заголовку в области расположения символов AV/HV/00). Режимы просмотра и редактирования переключаются нажатием Alt-F3 (в текстовом режиме - просто F3). Устанавливаемые после запуска режимы зависят от настроек, которые хранятся в файлах qview.ini, qview.fmg, qview.ehl и для изменения которых в составе пакета есть специальная программа - Q-Setup. Контекстная справка по используемым клавишам вызывается нажатием F1.

Открыть файл в редакторе можно передав его имя в качестве параметра командной строки: qview.exe (в Windows длинные имена файлов необходимо заключать в двойные кавычки) либо через файловую панель, которая вызывается нажатием Alt-F6 или щелчком мыши по имени файла в заголовке. Для выхода из редактора следует нажать Escape.

Простейшее редактирование

Самая простая задача при редактировании двоичных файлов: заменить значение байта по смещению XXXXХХХХ значением YY. Для этого после открытия файла в редакторе необходимо нажатием Enter переключить вид в режим дампа. В рабочей области в левой колонке указано значение смещения, в центральной части - значения байт в шестнадцатеричном виде, справа - те же значения в виде символов ASCII.

Для установки курсора по требуемому смещению требуется нажать клавишу F5 (или щелкнуть в заголовке мышью по ряду цифр, выделенному красным цветом), ввести значение смещения и нажать Enter. Если режим редактирования не был включен, то следует нажать Alt-F3 (при этом в панели клавиш появится надпись "Edit ON"). После этого можно вносить изменения в файл, набирая значения байт в шестнадцатеричном виде или, переместив курсор в правую колонку нажатием TAB, в виде символов. Курсор позиционируется с помощью обычных клавиш управления или мышью.

Для отмены сделанных изменений cледует установить курсор в месте ошибки и несколько раз нажать F3. Сохранить изменения можно при выходе, нажав W, или принудительно, нажав Alt-F9.

Поиск и замена

QView поддерживает поиск в файле определенных байт или строк и поиск по маске. Диалоговое окно поиска вызывается нажатием F7. В поле ASCII можно ввести строку в виде символов, а в поле HEX - в шестнадцатеричном виде. Щелчком мыши можно указать направление поиска ("Forward/Backward"), включить опции различения регистра символов для символьного поиска ("Sensitive") или поиск по маске ("Masking"). В последнем случае символ "?" маскирует соответствующий байт в строке. Например, при поиске "w?r?" будут найдены слова worm, warm, were и т.п. При нажатии Shift-F7 выполняется поиск следующего совпадения.

Для выполнения поиска с заменой необходимо нажать Ctrl-F7. В верхней части окна вводится строка или шаблон для поиска, в нижней - заменяющая строка.

Создание и использование crack-файлов

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

00000150: 89 B8 00000151: 1E 03 00000152: F6 00 00000153: 10 CD 00000154: 83 10

Иногда в начало добавляется комментарий, начинающийся с символа "#".

В QView для сохранения внесенных в файл изменений в виде crack-файла необходимо нажать Shift-F9, ввести в открывшемся окне имя файла и нажать Enter. Для внесения изменений из готового crack-файла cледует нажать Ctrl-F8, пропустить открывшемся окно, нажав Enter (в нем можно задать дополнительное смещение, что используется редко), в следующем окне ввести имя crack-файла и снова нажать Enter. Важное замечание: сразу после этого изменения будут записаны в файл и он будет автоматически сохранен. Переключать программу в режим редактирования не обязательно. Если при внесении изменений выводится сообщение об ошибке, значит, либо формат файла не соответствует стандартному, либо патч не подходит к файлу (байты "до изменения" не совпадают).

Работа с блоками

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

Для сохранения блока в файл необходимо нажать Shift-F2, в появившемся окне указать имя и формат сохраняемого файла (в виде кода - "как есть", дампа или ассемблерного текста) и нажать Enter.

При вставке блока из файла следует аналогичным образом выделить блок, нажать Shift-F3 и в открывшемся окне указать имя файла-источника. При этом размер выделенного блока должен быть равен или меньше размера файла. Альтернативный вариант: установить курсор в позицию, начиная с которой должна быть произведена вставка, нажать Shift-F5 и в открывшемся окне указать имя файла-источника, смещение и длину блока внутри него, откуда требуется взять данные.

Чтобы удалить блок следует отметить его и нажать Shift-F4 или установить курсор в нужную позицию, нажать Ctrl-F5 и указать число удаляемых байт. Для вставки заполненного нулями блока в текущую позицию cледует нажать Ctrl-F4 и указать размер блока. Удалить файла до конца начиная с текущей позиции можно нажав Alt-F10.

При вставке блока, как и в случае с crack-Файлами, изменения сохраняются cразу после внесения.

Ассемблирование и ассемблерный поиск

Ассемблирование используется для внесения изменений в алгоритм работы исполнимых файлов. QView поддерживает все команды процессоров Intel 486 и 487. В режиме ассемблера и дизассемблера в рабочей области редактора в первой колонке указано смещение относительно начала файла, во второй - байты инструкции, в третьей - ee мнемоническое обозначение. Для включения режима ассемблирования следует перевести редактор в режим дизассемблера, нажав несколько раз Enter, включить режим редактирования, нажав Alt-F3, и нажать TAB для перемещения курсора в третью колонку. После этого можно вводить инструкции, завершая ввод каждой нажатием Enter.

При необходимости можно, как и в режиме дампа, изменять непосредственно байты во второй колонке. Разрядность кода 16/32 переключается нажатием F2. Отменить изменения можно установив курсор на строку с ошибкой и несколько раз нажав F3.

Для поиска конкретных ассемблерных инструкций следует нажать F6, ввести инструкцию и нажать Enter. Поиск следующего совпадения производится нажатием Shift-F6. Для поиска по шаблону можно использовать следующие специальные символы:

"?" - любой один символ
"*" - любая подстрока до запятой или до конца строки
"$" - поиск числовых констант (ставится перед числом)
"%" - пропуск одного слова
"@" - любая подстрока

Например, "sub bx,*" - поиск всех инструкций вычитания из регистра BX.

Дополнительные функции

Из полезных дополнительных функций QView можно отметить наличие встроенного калькулятора, который вызывается при нажатии Ctrl-F6. Он поддерживает основные арифметические и логические поразрядные операции, скобки для указания приоритета операций, ввод аргументов и вывод результата в системах счисления с основанием 2, 8, 10, 16.

Просмотреть информацию из заголовка исполнимого файла можно нажав F8 в режиме дампа или дизассемблера. Поддерживаются файлы форматов MZ, PE, NE, LX, LE.

ПРИМЕЧАНИЕ
Рисунки на этой странице не отображаются, но вы можете найти их в книге.

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

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

Написать программу можно и не имея никаких ассемблеров-компиляторов и прочих инструментов – с помощью какого-либо шестнадцатеричного редактора (или hex-редактор или hex editor).

И все-таки разбор программ в шестнадцатеричном редакторе весьма полезен. Особенно тем, кто собирается работать с электроникой – ведь микропроцессоры не понимают ни Паскаль ни С++. Хотя и существуют специальные устройства и программы, которые им эти языки «объясняют».

Для начала вам потребуется шестнадцатеричный редактор. Вы можете использовать любой, имеющийся у вас под рукой. Однако я буду использовать уже упоминавшийся McAfee FileInsight v2.1 . Этот hex-редактор можно скачать бесплатно. Все описанные ниже действия справедливы именно для этого редактора.

Итак, шестнадцатеричный редактор у вас установлен. Запускаем его. Щелкаем по кнопке ОТКРЫТЬ, находим один из созданных нами СОМ-файлов, например, debug_1.com, и загружаем его в редактор.

Когда файл загружен, в редакторе вы увидите следующее (см. также рис. 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ...A.!. Можете открыть два других созданных нами файла: mycode.com (созданный в emu8086) или ATEST.COM (который мы создали в разделе ). Увидите то же самое. Это значит, что все ассемблеры создают одинаковый машинный код. То есть отличия в тексте программ не являются принципиальными – они обусловлены только отличиями самих ассемблеров.

ПРИМЕЧАНИЕ
Если в вашем случае вы видите другую картину, то либо вы открыли другой файл, либо просматриваете его в текстовом режиме. В последнем случае нажмите кнопку View as Hex на панели инструментов (см. рис. 1.12).

Что же означают эти числа?

С нулями все понятно – это первая ячейка памяти, в которую записано число В4. Это число потом будет записано в адрес 0100h (для СОМ-файла). В строке должно быть 16 чисел, каждое из которых состоит из двух цифр. Числа записываются в шестнадцатеричной форме. Но у нас программа маленькая – всего 8 байт, поэтому и чисел у нас 8.

Ну а что же такое B4? Это команда – «Ввести значение в регистр АН». А какое значение вводим? Правильно: 02 (следующее в строке число).

AX=0200 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B72 ES=0B72 SS=0B72 CS=0B72 IP=0102 NV UP EI PL NZ NA PO NC 0B72:0102 B241 MOV DL,41 Видите в последней строке B241? Знакомое сочетание? Это код команды MOV DL, 41.

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

Ну а теперь напишем и создадим нашу изученную вдоль и поперек программу без ассемблеров и компоновщиков. Открываем редактор, создаём новый файл (для этого щёлкаем кнопку NEW на панели инструментов), затем щёлкаем кнопку View as Hex и вводим данные:

00000000 B4 02 B2 41 CD 21 CD 20 Сохраняем файл под именем, например, hex_1.com. Все. Программа готова. Теперь ее можно запустить и в очередной раз полюбоваться своим творением. Результат будет тот же, что и во всех предыдущих случаях.

И ещё один приятный сюрприз от редактора McAfee FileInsight v2.1 – он имеет свой дизассемблер! Если вы загрузите в редактор исполняемый файл, а в левом нижнем углу выберите вкладку DISASSEMBLY, то сможете посмотреть исходный код загруженной программы на языке ассемблера (рис. 1.12).

Зачем вообще нужны шестнадцатеричные редакторы и дизассемблеры? Ведь это так сложно. Да, это непросто. Однако хакеры так не думают. Именно с помощью шестнадцатеричных редакторов и дизассемблеров они ломают программы. Находят в коде нужные им места и исправляют их в соответствии со своими хакерскими капризами.

Конечно, мы не хакеры. Ломать программы не будем. Однако дизассемблеры и шестнадцатеричные редакторы весьма полезны и законопослушными программистам. Они используются, например, для отладки, для изучения машинных кодов и т.п. Например, вы знаете, как выглядит команда на языке ассемблера, но хотите узнать её машинный код. Если нет документации, то выход только один – шестнадцатеричный редактор и/или дизассемблер. Следует, однако, учесть, что не все команды умещаются в машинный код из двух чисел. Некоторые команды довольно сложные и требуют большего количества чисел для представления в машинных кодах.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: