<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.old-games.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%D0%BC</id>
	<title>Руководство по hex-редакторам - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.old-games.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%D0%BC"/>
	<link rel="alternate" type="text/html" href="https://www.old-games.ru/wiki/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%D0%BC&amp;action=history"/>
	<updated>2026-04-22T18:57:56Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>https://www.old-games.ru/wiki/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%D0%BC&amp;diff=12302&amp;oldid=prev</id>
		<title>Dimouse в 13:10, 28 июня 2011</title>
		<link rel="alternate" type="text/html" href="https://www.old-games.ru/wiki/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%D0%BC&amp;diff=12302&amp;oldid=prev"/>
		<updated>2011-06-28T13:10:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 16:10, 28 июня 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;Строка 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 84:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:FAQ]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Категория:FAQ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Категория:Мастерская]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dimouse</name></author>
	</entry>
	<entry>
		<id>https://www.old-games.ru/wiki/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%D0%BC&amp;diff=12301&amp;oldid=prev</id>
		<title>Reg2s: Новая страница: «Иногда возникает необходимость внести изменения в двоичный файл. Для этого используются …»</title>
		<link rel="alternate" type="text/html" href="https://www.old-games.ru/wiki/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_hex-%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%D0%BC&amp;diff=12301&amp;oldid=prev"/>
		<updated>2011-06-28T12:58:06Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Иногда возникает необходимость внести изменения в двоичный файл. Для этого используются …»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Иногда возникает необходимость внести изменения в двоичный файл. Для этого используются так называемые hex-редакторы. Цель данного руководства - описать основные методы работы с ними и ответить на наиболее часто задаваемые вопросы.&lt;br /&gt;
&lt;br /&gt;
== Выбор редактора ==&lt;br /&gt;
[[Файл:Qview_pic1.png|400px|thumb|right]]&lt;br /&gt;
[[Файл:Qview_pic2.png|400px|thumb|right]]&lt;br /&gt;
Самым первым обычно возникает вопрос: какой редактор из всего многообразия существующих выбрать. Для изменения нескольких байт можно cмело использовать любой, но при частом или длительном использовании программа должна поддерживать все требуемые функции, быть удобной, быстрой и надежной. Исходя из этого можно рекомендовать к использованию, например, QView. Кроме перечисленных выше cвойств, он обладает следующими:&lt;br /&gt;
&lt;br /&gt;
* Работает в DOS и Windows&lt;br /&gt;
* Содержит встроенные ассемблер и дизассемблер&lt;br /&gt;
* Поддерживает кодировки текста DOS-866, Win-1251, KOI-8r и определяемые пользователем&lt;br /&gt;
* Имеет широкие возможности настройки&lt;br /&gt;
* Является бесплатным с открытыми исходными кодами&lt;br /&gt;
&lt;br /&gt;
Скачать его можно на домашней странице проекта: http://www.agcproduct.com/rus/products/qview/.&lt;br /&gt;
&lt;br /&gt;
Основное окно QView состоит из заголовка (вверху), рабочей области и панели функциональных клавиш (внизу). Для управления используются клавиатура и мышь. QView позволяет работать с данными в текстовом режиме, режиме шестнадцатеричного дампа и режиме дизассемблера. Режимы последовательно переключаются нажатием Enter или F4 (или щелчком левой кнопки мыши по заголовку в области расположения символов AV/HV/00). Режимы просмотра и редактирования переключаются нажатием Alt-F3 (в текстовом режиме - просто F3). Устанавливаемые после запуска режимы зависят от настроек, которые хранятся в файлах qview.ini, qview.fmg, qview.ehl и для изменения которых в составе пакета есть специальная программа - Q-Setup. Контекстная справка по используемым клавишам вызывается нажатием F1.&lt;br /&gt;
&lt;br /&gt;
Открыть файл в редакторе можно передав его имя в качестве параметра командной строки: qview.exe  &amp;lt;filename.ext&amp;gt; (в Windows длинные имена файлов необходимо заключать в двойные кавычки) либо через файловую панель, которая вызывается нажатием Alt-F6 или щелчком мыши по имени файла в заголовке. Для выхода из редактора следует нажать Escape.&lt;br /&gt;
&lt;br /&gt;
== Простейшее редактирование ==&lt;br /&gt;
&lt;br /&gt;
Самая простая задача при редактировании двоичных файлов: заменить значение байта по смещению XXXXХХХХ значением YY. Для этого после открытия файла в редакторе необходимо нажатием Enter переключить вид в режим дампа. В рабочей области в левой колонке указано значение смещения, в центральной части - значения байт в шестнадцатеричном виде, справа - те же значения в виде символов ASCII.&lt;br /&gt;
&lt;br /&gt;
Для установки курсора по требуемому смещению требуется нажать клавишу F5 (или щелкнуть в заголовке мышью по ряду цифр, выделенному красным цветом), ввести значение смещения и нажать Enter. Если режим редактирования не был включен, то следует нажать Alt-F3 (при этом в панели клавиш появится надпись &amp;quot;Edit ON&amp;quot;). После этого можно вносить изменения в файл, набирая значения байт в шестнадцатеричном виде или, переместив курсор в правую колонку нажатием TAB, в виде символов. Курсор позиционируется с помощью обычных клавиш управления или мышью.&lt;br /&gt;
&lt;br /&gt;
Для отмены сделанных изменений cледует установить курсор в месте ошибки и несколько раз нажать F3. Сохранить изменения можно при выходе, нажав W, или принудительно, нажав Alt-F9.&lt;br /&gt;
&lt;br /&gt;
== Поиск и замена ==&lt;br /&gt;
[[Файл:Qview_pic3.png|400px|thumb|right]]&lt;br /&gt;
QView поддерживает поиск в файле определенных байт или строк и поиск по маске. Диалоговое окно поиска вызывается нажатием F7. В поле ASCII можно ввести строку в виде символов, а в поле HEX - в шестнадцатеричном виде. Щелчком мыши можно указать направление поиска (&amp;quot;Forward/Backward&amp;quot;), включить опции различения регистра символов для символьного поиска (&amp;quot;Sensitive&amp;quot;) или поиск по маске (&amp;quot;Masking&amp;quot;). В последнем случае символ '?' маскирует соответствующий байт в строке. Например, при поиске &amp;quot;w?r?&amp;quot; будут найдены слова  worm, warm, were и т.п. При нажатии Shift-F7 выполняется поиск следующего совпадения.&lt;br /&gt;
&lt;br /&gt;
Для выполнения поиска с заменой необходимо нажать Ctrl-F7. В верхней части окна вводится строка или шаблон для поиска, в нижней - заменяющая строка.&lt;br /&gt;
&lt;br /&gt;
== Создание и использование crack-файлов ==&lt;br /&gt;
&lt;br /&gt;
Crack-файлы являются самым распространенным способом записи изменений в двоичных файлах. В стандартном формате они состоят из трех колонок: смещения относительно начала редактируемого файла, значения байта до изменения и его значения после изменения:&lt;br /&gt;
&lt;br /&gt;
 00000150: 89 B8&lt;br /&gt;
 00000151: 1E 03&lt;br /&gt;
 00000152: F6 00&lt;br /&gt;
 00000153: 10 CD&lt;br /&gt;
 00000154: 83 10&lt;br /&gt;
&lt;br /&gt;
Иногда в начало добавляется комментарий, начинающийся с символа '#'.&lt;br /&gt;
&lt;br /&gt;
В QView для сохранения внесенных в файл изменений в виде crack-файла необходимо нажать Shift-F9, ввести в открывшемся окне имя файла и нажать Enter. Для внесения изменений из готового crack-файла cледует нажать Ctrl-F8, пропустить открывшемся окно, нажав Enter (в нем можно задать дополнительное смещение, что используется редко), в следующем окне ввести имя crack-файла и снова нажать Enter. Важное замечание: сразу после этого изменения будут записаны в файл и он будет автоматически сохранен. Переключать программу в режим редактирования не обязательно. Если при внесении изменений выводится сообщение об ошибке, значит, либо формат файла не соответствует стандартному, либо патч не подходит к файлу (байты &amp;quot;до изменения&amp;quot; не совпадают).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Работа с блоками ==&lt;br /&gt;
[[Файл:Qview_pic4.png|400px|thumb|right]]&lt;br /&gt;
Иногда возникает потребность сохранить часть двоичного файла, например, скопировать из него текстовые строки. Для работы с блоками редактор должен находиться в режиме дампа или дизассемблера. Для выделения требуемого блока следует установить курсор в его начало, нажать клавишу Insert, затем установить курсор в конец блока и снова нажать Insert. При этом блок выделяется желтым цветом.&lt;br /&gt;
&lt;br /&gt;
Для сохранения блока в файл необходимо нажать Shift-F2, в появившемся окне указать имя и формат сохраняемого файла (в виде кода - &amp;quot;как есть&amp;quot;, дампа или ассемблерного текста) и нажать Enter.&lt;br /&gt;
&lt;br /&gt;
При вставке блока из файла следует аналогичным образом выделить блок, нажать Shift-F3 и в открывшемся окне указать имя файла-источника. При этом размер выделенного блока должен быть равен или меньше размера файла. Альтернативный вариант: установить курсор в позицию, начиная с которой должна быть произведена вставка, нажать Shift-F5 и в открывшемся окне указать имя файла-источника, смещение и длину блока внутри него, откуда требуется взять данные.&lt;br /&gt;
&lt;br /&gt;
Чтобы удалить блок следует отметить его и нажать Shift-F4 или установить курсор в нужную позицию, нажать Ctrl-F5 и указать число удаляемых байт. Для вставки заполненного нулями блока в текущую позицию cледует нажать Ctrl-F4 и указать размер блока. Удалить файла до конца начиная с текущей позиции можно нажав Alt-F10.&lt;br /&gt;
&lt;br /&gt;
При вставке блока, как и в случае с crack-Файлами, изменения сохраняются cразу после внесения.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ассемблирование и ассемблерный поиск ==&lt;br /&gt;
[[Файл:Qview_pic5.png|400px|thumb|right]]&lt;br /&gt;
Ассемблирование используется для внесения изменений в алгоритм работы исполнимых файлов. QView поддерживает все команды процессоров Intel 486 и 487. В режиме ассемблера и дизассемблера в рабочей области редактора в первой колонке указано смещение относительно начала файла, во второй - байты инструкции, в третьей - ee мнемоническое обозначение. Для включения режима ассемблирования следует перевести редактор в режим дизассемблера, нажав несколько раз Enter, включить режим редактирования, нажав Alt-F3, и нажать TAB для перемещения курсора в третью колонку. После этого можно вводить инструкции, завершая ввод каждой нажатием Enter.&lt;br /&gt;
&lt;br /&gt;
При необходимости можно, как и в режиме дампа, изменять непосредственно байты во второй колонке. Разрядность кода 16/32 переключается нажатием F2. Отменить изменения можно установив курсор на строку с ошибкой и несколько раз нажав F3.&lt;br /&gt;
&lt;br /&gt;
Для поиска конкретных ассемблерных инструкций следует нажать F6, ввести инструкцию и нажать Enter. Поиск следующего совпадения производится нажатием Shift-F6. Для поиска по шаблону можно использовать следующие специальные символы:&lt;br /&gt;
&lt;br /&gt;
'?' - любой один символ&amp;lt;br&amp;gt;&lt;br /&gt;
'*' - любая подстрока до запятой или до конца строки&amp;lt;br&amp;gt;&lt;br /&gt;
'$' - поиск числовых констант (ставится перед числом)&amp;lt;br&amp;gt;&lt;br /&gt;
'%' - пропуск одного слова&amp;lt;br&amp;gt;&lt;br /&gt;
'@' - любая подстрока&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Например, &amp;quot;sub bx,*&amp;quot; - поиск всех инструкций вычитания из регистра BX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Дополнительные функции ==&lt;br /&gt;
&lt;br /&gt;
Из полезных дополнительных функций QView можно отметить наличие встроенного калькулятора, который вызывается при нажатии Ctrl-F6. Он поддерживает основные арифметические и логические поразрядные операции, скобки для указания приоритета операций, ввод аргументов и вывод результата в системах счисления с основанием 2, 8, 10, 16.&lt;br /&gt;
&lt;br /&gt;
Просмотреть информацию из заголовка исполнимого файла можно нажав F8 в режиме дампа или дизассемблера. Поддерживаются файлы форматов MZ, PE, NE, LX, LE.&lt;br /&gt;
&lt;br /&gt;
[[Категория:FAQ]]&lt;/div&gt;</summary>
		<author><name>Reg2s</name></author>
	</entry>
</feed>