Средства для исследования и редактирования программ

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

Первая из рассматриваемых мною программ является HIEW 6.15 (353 Kb). Hiew (сокращение от Hacker's view) позволяет просматривать файлы неограниченной длины в текстовом и шестнадцатеричном форматах, а также в режиме дизассемблера процессора Pentium Pro. Данная программа написана Сусликовым Евгением Николаевичем или просто SEN'ом (как называет себя автор). Начиная с версии 6.15, программа стала shareware. Стоимость регистрации - 10$. Хотя по заявлениям самого автора незарегистрированная программа будет редко надоедать nag-экраном. Всем зарегистрировавшимся автор обещает рассказать еще о двух недокументированных возможностях. Для полного представления о данной программе я хочу перечислить некоторые функции HIEW. Этот шестнадцатеричный редактор позволяет редактировать файлы неограниченной длины. В HIEW встроен ассемблер. Это сделано для того, чтобы не набирать файлы в TASM, MASM или WASM, которые работают не так быстро, как HIEW. Кроме встроенного ассемблера, в HIEW находится и дизассемблер. С помощью дизассемблера вы сможете просматривать и редактировать файлы в ассемблерном коде. В HIEW существует возможность поиска в ассемблерном тексте как целых команд, так и любых вхождений. HIEW поддерживает LE/PE/ NE/LX/NLM-форматы. Редактор имеет встроенный калькулятор, который незаменим для людей, анализирующих различные программы. Попробуйте повозиться только с различными системами счисления, и вы сразу поймете, что делать все вычисления в уме либо на бумаге неудобно из-за большой траты времени. HIEW уникален тем, что в нем реализована удобная крипт-схема. С ее помощью вы сможете расшифровывать программы прямо по ходу анализа. Это лишь часть тех функций, которые реализованы в данном шестнадцатеричном редакторе. Программу попробуйте поискать на http://gid.kuzbass. net/sen, хотя ее также можно найти на сайтах типа freeware.ru.

Следующей из рассматриваемых мной программ является QVIEW 2.8 (QuickVIEW) (147 Kb). Эта программа написана Александром Газко. Программа является freeware продуктом. И она давно конкурирует с HIEW. А теперь о самих ее функциях. Программа позволяет просматривать, обрабатывать программным образом и вручную редактировать файлы логических и физических дисков, а также 1 Mb памяти в режимах Text/Hex/Asm. В QVIEW встроена поддержка кодировок Alt/Win/ KOI, а также поддержка до 4-х кодировок пользователя. Также поддерживается разбор содержимого 'MZ', 'PE', 'NE', 'LE', 'LX' файлов. С помощью данного шестнадцатеричного редактора вы сможете просматривать boot record, MBR дисков. Также как и в HIEW, в редакторе QVIEW находится встроенный дизассемблер i486/87 и встроенный ассемблер i486. Программа способна трассировать переходы jmp/... Одно из отличий QVIEW от HIEW в том, что программа позволяет создавать в файлах комментарии. Редактор поддерживает все операции с блоками. Также существует поддержка .CRK файлов. Встроенный в редактор калькулятор не уступает калькулятору из HIEW, а даже превосходит его по своим возможностям. QVIEW поддерживает многозадачные операционные системы. Разумеется, в данной статье невозможно перечислить все функции этого редактора. Данный редактор можно найти по адресу http://www.geo-cities.com/SiliconValley/ Lab/3482 или на ftp://ftp.csa.ru/pub/il/ qview???.arj, где??? - версия QView.

Следующий из шестнадцатеричных редакторов носит название Hew Workshop 2.54 (1.09 Mb). Hex Workshop - это набор инструментов для Window 95, 98 и NT сочетающих мощь редактирования в двоичных кодах с удобствами текстового редактора. С помощью Hex Workshop вы сможете редактировать, удалять, вырезать, копировать и вставлять шестнадцатеричные значения, полностью настроить печать участков памяти, а также экспортировать эти участки в .rtf или .html для распространения. Вдобавок к этому, вы можете осуществлять переход по указанному относительно начала файла смещению, производить поиск, замену, сравнение файлов и расчет контрольной суммы. Hex Workshop встраивается в меню проводника, что позволяет вам легко редактировать необходимые файлы, не запуская Hex Workshop отдельно. В Hex Workshop также встроен преобразователь систем счисления, позволяющий работать с шестнадцатеричными, десятичными и двоичными числами, а также шестнадцатеричный калькулятор с поддержкой арифметических и логических операций. Этот редактор можно найти по адресу http://www.bpsoft.com.

Ну и напоследок хочу упомянуть еще об одной программе, которая относится непосредственно к шестнадцатеричным редакторам. Ее название - HEXPert (101 Kb). Это довольно неплохой шестнадцатеричный редактор. Но, к сожалению, он был написан для операционной системы Windows 3.x, поэтому не поддерживает длинные имена файлов и директорий. А про функции могу сказать лишь то, что особых отличий нет. Все функции, которые поддерживает данная программа, имеются в описанных мной выше редакторах. Данная программа старовата, поэтому ссылка на то место, где ее можно взять, у меня отсутствует.

Существует много способов применения данных программ, но для себя я выделил два. Это возможность исследования и редактирования. Другой же способ состоит в том, что при написании программ на языке Assembler после компиляции исходного кода в выполняемый COM или EXE файл можно залезть в откомпилированный файл одним из этих редакторов и посмотреть, все ли откомпилировалось так, как вы хотели. При желании все можно легко изменить и сохранить. Поэтому возможности применения шестнадцатеричных редакторов не ограничены. Для себя я выбрал два редактора - это HIEW и QVIEW.

Евгений Сечко


Компьютерная газета. Статья была опубликована в номере 17 за 2000 год в рубрике soft :: текст

©1997-2024 Компьютерная газета