Copyright: © X-Ways Software Technology AG 1995-2004             Перевод на русский - Александр Асябрик


Содержание
WinHex 11.6 / X-Ways Forensics

Русский WinHex: http://www.databack4u.com/snc/

(на сайте размещен неофициальный русскоязычный дистрибутив)

Общая информация

О WinHex	Регистрация

Назначение Hex-редактора

Целочисленные типы данных

Типы данных с плавающей запятой

Форматы даты и времени

ANSI ASCII/IBM ASCII	Контрольные суммы

Технические характеристики	Лицензионное соглашение

Forensic Features

Case Management	Evidence Objects

Log & Report Feature	Gallery View

Таблица содержимого диска

Работа с Hex-редактором

Стартовый центр	Настройки

Ввод символов	Режимы правки	Строка состояния

Полезные советы	Скрипты	WinHex API

Редактор диска	Редактор RAM

Справка по меню

Меню Файл	Меню Правка 	Меню Настройки

Меню Поиск	Меню Позиция	Меню Вид

Меню Инструменты	Специалист

Менеджер файлов	Меню Окно

Меню Справка	Контекстное меню

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

Конвертация	Модификация данных

Зачистка и инициализация

Интерпретатор данных	Клонирование дисков

Позиционный менеджер	Менеджер резервов

Правка с шаблоном	Восстановление данных


О WinHex
WinHex 11.6 / X-Ways Forensics

© 1995-2004 Stefan Fleischmann

Marketed by X-Ways Software Technology AG, a stock corporation incorporated under the laws of the Federal Republic of Germany.

Postal address: Carl-Diem-Str. 32 • 32257 Bunde • Germany

E-mail address: mail@x-ways.com

Fax: +49-721-151 322 561

First released in 1995, last updated in June 2004.

The following operating systems are supported:

• Windows 95/98/Me

• Windows NT 4.0

• Windows 2000

• Windows XP

Homepage: http://www.x-ways.net

Forum: http://www.winhex.net

Русский WinHex: http://www.databack4u.com/snc/

(на сайте размещен неофициальный русскоязычный дистрибутив WinHex)

Please find the latest version of this program there.

French translation by Jйrфme Broutin (user interface) and Henri Pouzoullic (program help) in January 2000. Revised and updated since by Bernard Leprкtre. Entire Spanish translation by Josй Marнa Tagarro Martн. Italian translation by Fabrizio Degni (user interface). Brazilian Portuguese translation by Heyder Lino Ferreira (user interface).

Cryptography consulting: Alexandre Pukall

ZDNet Software Library Rating: 5 stars (of 5)!

Registered professional users around the world include:

U.S. and German federal law enforcement agencies, U.S. national institutes (e.g. the Oak Ridge National Laboratory in Tennessee), ministries such as the Australian Department of Defence, the Technical University of Vienna, the Technical University of Munich (Institute of Computer Science), the German Aerospace Center, the German federal bureau of aviation accident investigation, Microsoft Corp., Hewlett Packard, Toshiba Europe, Ericsson, Novell Inc., Ontrack Data International Inc., KPMG Forensic, Ernst & Young, Siemens AG, Siemens Business Services, Siemens VDO AG, Infineon Technologies Flash GmbH & Co. KG, Lockheed Martin, BAE Systems, TDK Corporation, Seoul Mobile Telecom, Visa International, DePfa Deutsche Pfandbriefbank AG, Analytik Jena AG, and many other companies and scientific institutes. Order the full version now!

The algorithms Pukall Cipher 1 (PC 1) and Pukall Stream Cipher Hash Function are copyright by Alexandre Pukall. Source code available from http://www.multimania.com/pc1.

The MD5 message digest is copyright by RSA Data Security Inc.

The"zlib" compression library is copyright by Jean-loup Gailly and Mark Adler. Homepage: ftp://ftp.cdrom.com/pub/infozip/zlib/zlib.html


Назначение Hex-редактора

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

Условленно, что один байт представляет из себя последовательность из 8 бит. Бит может иметь значение 0 или 1, что соответствует одному из двух возможных состояний. Поэтому один байт может содержать одно из 2•2•2•2•2•2•2•2 = 2^8 = 256 разных значений. А поскольку 256 является квадратом числа 16, значение байта может быть определено числом с двумя цифрами, основанным на шестнадцатеричной системе, где каждая цифра представляет полубайт, т. е. 4 бит. В шестнадцатеричной системе используется следующие шестнадцать цифр - 0-9, A-F.

Вы можете изменить значение байта, изменяя вышеупомянутые цифры в шестнадцатеричном режиме. А также возможен ввод символа, который соответствует некоторому значению байта в наборе символов ASCII (см. Ввод символов). Допустимы все виды символов (например буквы и знаки препинания). Пример: байт, чье десятичное значение равно 87, отображается как 57 в шестнадцатеричном виде (5•16+7=87) и как символ W в текстовом режиме. В наборе символов ASCII определено, что заглавная буква W должна иметь десятичное значение 87.

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

Команда "Комбинированный поиск" была специально разработана для редактирования файлов, создаваемых компьютерными играми для сохранения состояния игры. Если Вы знаете значение переменной величины в двух таких файлах, то можете найти смещение, т.е. позицию, в которой эти данные хранятся. Например: если 2 файла содержат информацию, что у Вас в игре есть 5 и, соответственно, 7 баллов/бонусов/жизней /..., ищите hex-значение 05 в первом и 07 во втором файле.


Регистрация

You may evaluate WinHex free of charge, as long as you need. For regular use and for use as a full version, you need a base license (personal, professional, or specialist). If you are going to use WinHex on more than one machine, you will also need additional licenses. Полная версия позволяет сохранять файлы, превышающие 200 KБ, записывать дисковые сектора, редактировать виртуальную память, а также не показывает назойливых напоминаний об использовании пробной версии. Уровень Вашей лицензии отображается при запуске программы и в диалоге О WinHex.

• Personal licenses are available at a reduced price for non-commercial purposes only, in a non-business, non-institutional, and non-government environment.

• Professional licenses allow usage of the software in any environment (at home, in a company, in an organization, or in public administration). Professional licenses provide the ability to execute scripts and to use the WinHex API, and possibly other advanced features in the future.

• Specialist licenses in addition to this allow to use the Specialist Tools menu section. Particularly useful for computer forensics and IT security specialists. . Plus X-Ways Replica 1.3, a DOS-based forensically sound disk cloning and imaging software is included.

• Forensic licenses in addition to this allow to use the powerful case managing and report generating capabilities of WinHex, the gallery view and advanced features of the drive contents table. Furthermore, they allow to read Encase image files. Particularly useful for computer forensic examiners. The forensic edition of WinHex is called X-Ways Forensics. Includes X-Ways Replica 2.0, with advanced disk cloning and imaging capabilities.

Pricing

Personal licenses:	EUR 42.90 / US$ 52 (base license)

EUR 32.90 / US$ 40 (each additional license)

Professional licenses:	EUR 79.90 / US$ 98 (base license)

EUR 49.90 / US$ 61 (each additional license)

Specialist licenses:	EUR 139.90 / US$ 171 (base license)

EUR 79.90 / US$ 98 (each additional license)

Forensic licenses:	EUR 229.90 / US$ 279 (base license)

EUR 139.90 / US$ 171 (each additional license)

Recommended within the European Union: Have your bank transfer the money directly into our company's bank account (see below) and notify us. When transferring from outside of the Euro area, please add EUR 7 / US$ 9 once. Please specify "WinHex 11.6" and your address when ordering/sending payment/notifying us.

For online ordering, please visit the WinHex Internet order page http://www.x-ways.net/winhex/order.html. Payment by credit card accepted. Fastest option. Somewhat more expensive than stated above.

When your payment is received, you will be sent license codes and instructions how to use them to turn WinHex into the full version. Upgrading to later versions that are released within 15 months (counted from the release of the version you pay for) is free! (probably even more)

X-Ways Software Technology AG

Carl-Diem-Str. 32

32257 Bьnde

Germany

Homepage: http://www.x-ways.net

Русский WinHex: http://databack4u.com/snc/

E-Mail: mail@x-ways.com

Fax: +49-721-151 322 561

Contact person: Stefan Fleischmann

Bank account owner: X-Ways AG

Account No.: 2705390

Bank code No.: 48070024

Bank name: Deutsche Bank PGK

SWIFT/BIC: DEUT DE 3B 492

IBAN: DE28 4807 0024 0270 5390 00

Bank address: Deutsche Bank, Filiale Bьnde, Bahnhofstr. 7-9, 32257 Bьnde, Germany

Thank you very much for your order!


Целочисленные типы данных

Формат/Тип	Диапазон	Пример

со знаком 8 бит	-128...127 	FF = -1

беззнаковый 8 бит	0...255     	FF = 255

со знаком 16 бит	-32 768...32 767	00 80 = -32 768

беззнаковый 16 бит	0...65 535	00 80 = 32 768

со знаком 24 бит	-8,388,608...8,388,607	00 00 80 = -8,388,608

беззнаковый 24 бит	0...16,777,215	00 00 80 = 8,388,608

со знаком 32 бит	-2 147 483 648...2 147 483 647	00 00 00 80 = -2 147 483 648

беззнаковый 32 бит	0...4 294 967 295	00 00 00 80 = 2 147 483 648

со знаком 64 бит	-2^63...2^63-1	00 00 00 00 00 00 00 80 = -2^63

Если не заявлено иное, мультибайтовые числа хранятся в формате little-endian, что подразумевает, что первый байт числа является наименьшим значащим, а последний байт – наибольшим значащим. Этот формат является стандартным для компьютеров с операционной системой Microsoft Windows. Следуя парадигме little-endian, шестнадцатеричные значения 10 27 могут быть интерпретированы как шестнадцатеричное число 2710 (соответствует десятичному 10 000).

Интерпретатор данных способен интерпретировать данные всех вышеупомянутых целочисленных типов.


Типы данных с плавающей запятой

Тип	Диапазон	Точность	Байт

Float (Single)	± 1.5e-45..3.4e+38	7-8	 	4

Real	± 2.9e-39..1.7e+38	11-12 	6

Double (Double)	± 5.0e-324..1.7e+308	15-16 	8

Long Double (Extended)	± 3.4e-4932..1.1e+4932	19-20 	10

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

В компьютере число с плавающей запятой F представлено как мантисса M и экспонента E, где M x 2^E = F. Числа M и E сами являются целыми со знаком. Четыре типа данных различаются диапазонами (т.е. количеством бит, зарезервированных для экспоненты) и точностью (т.е. количеством бит, зарезервированных для мантиссы).

На Intel-основанных системах вычисления с числами с плавающей запятой выполняются математическим сопроцессором, в то время как основной процессор ожидает. Intel 80x87 использует 80-разрядную точность для вычислений, тогда как процессоры RISC часто используют 64-разрядную.


ANSI ASCII/IBM ASCII

ANSI ASCII является набором символов, используемым приложениями Windows. Он стандартизирован American National Standards Institute(Американский институт национальных стандартов). MS-DOS использует набор символов IBM ASCII (еще называемый набором символов OEM). Эти два набора символов различаются второй половиной, содержащей символы с ASCII значениями более чем 127.

Будет разумным отключить опцию меню "Набор символов >>ANSI ASCII", просматривая или редактируя файлы, принадлежащие DOS программе.

Используйте команду "Конвертировать" из меню Правка для преобразования текстовых файлов из одного набора символов в другой.

Первые 32 ASCII-значения не определяют символы, которые могут быть выведены на печать или на монитор, а являются контрольными (управляющими) кодами:

Hex	Управляющий код

0	Null

1	Start of Header

2	Start of Text

3	End of Text

4	End of Transmission

5	Enquiry

6	Acknowledge

7	Bell

8	Backspace

9	Horizontal Tab

A	Line Feed

B	Vertical Tab

C	Form Feed

D	Carriage Return

E	Shift Out

F	Shift In

10	Data Link Escape

11	Device Control 1 (XON)

12	Device Control 2

13	Device Control 3 (XOFF)

14	Device Control 4

15	Negative Acknowledge

16	Synchronous Idle

17	End of Transmission Block

18	Cancel

19	End of Medium

1A	Substitute

1B	Escape

1C	File Separator

1D	Group Separator

1E	Record Separator

1F	Unit Separator


Контрольные суммы

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

WinHex производит вычисление контрольных сумм при открытии (не обязательно, см. опции безопасности и сохранности данных) или анализе (см. меню Инструменты) файла. После правки файлов контрольные суммы могут быть пересчитаны нажатием Alt+F2.

Стандартная контрольная сумма - простая сумма всех байтов в файле, рассчитанная на 8-разрядном, 16-разрядном, 32-разрядном или 64-разрядном сумматоре. CRC (cyclic redundancy code / циклический избыточный код) основан на более сложном алгоритме, который является более безопасным.

Пример: Если передача изменит два байта файла таким образом, что модификации будут взаимокомпенсирующими (например первый байт +1, второй байт -1), то стандартная контрольная сумма останется неизменной, но при этом CRC всё же изменится.


Технические характеристики

Используемая память:	1,0 MБ
Максимальное количество окон:	1000 (Windows NT/2000), 500 (Windows 9x)

Максимальный размер файла/диска:	~ 2000 ГБ

Mаксимум экземпляров WinHex:	99

Максимальное кол-во позиций:	ограничено только размером RAM

Mакс. обратимых клавиатурных вводов:	65535

Глубина шифрования:	128 бит

Длина дайджеста в резервах:	128/256 бит

Поддерживаемые наборы символов:	ANSI ASCII, IBM ASCII, EBCDIC (с ограничениями)

Представление смещений:	шестнадцатеричное/десятичное

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

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

• WinHex предполагает, что Ваш компьютер работает в режиме little-endian.

• Операции поиска и замены обычно завершаются быстрее при включенной опции “Учитывать регистр” и если не используется маска.

• Здесь находится некоторая информация о Master Boot Record жесткого диска, которая может редактироваться Редактором диска.

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

Производится поиск букв "ana" в слове "banana". Первое вхождение будет найдено уже на втором символе.

1-ый вариант: Алгоритм продолжит поиск с третьего символа. Поэтому "ana" будет найдено вновь на четвертом символе.

2-ой вариант: Три буквы, найденные в слове "banana", будут пропущены. Оставшиеся буквы "na" больше не содержат в себе "ana".

WinHex запрограммирован на использование второго варианта, поскольку он приносит более реалистичные результаты при подсчете или замене вхождений. (Если Вы продолжаете поиск, используя клавишу F3, или Вы отметили опцию “Сообщить, если найдено”, алгоритм следует первому варианту поведения.)

• За дополнительной технической информацией обращайтесь на домашнюю страницу программы WinHex: http://www.winhex.com.


Правовая информация

Copyright © 1995-2004 Stefan Fleischmann. All rights reserved.

Marketed by X-Ways Software Technology AG.

Перевод на русский язык: © 2002-2004  Александр Асябрик aka Shura. Все права защищены.

No part of this publication may be reproduced, or stored in a database or retrieval system without the prior permission of the author. Any brand names and trademarks mentioned in the program or in this program help are properties of their respective holders and are generally protected by laws.

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

This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. However, the author neither offers any warranties or representations nor does he accept any liability with respect to the program or its manual.

The algorithms Pukall Cipher 1 (PC 1) and Pukall Stream Cipher Hash Function are copyright by Alexandre Pukall. Source code available from http://www.multimania.com/pc1/, http://www.multimania.com/cuisinons/progs/, and http://www.freecode.com.

The "zlib" compression library is copyright by Jean-loup Gailly and Mark Adler. Homepage: ftp://ftp.cdrom.com/pub/infozip/zlib/zlib.html

About the program help

This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. However, the author neither offers any warranties or representations nor does he accept any liability with respect to the program or its manual.

No part of this publication may be reproduced, or stored in a database or retrieval system without the prior permission of the author. Any brand names and trademarks mentioned in the program or in this program help are properties of their respective holders and are generally protected by laws.


Общие настройки

1-ая колонка:

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

• Укажите количество недавно открывавшихся документов для их запоминания и перечисления их в списке Стартового центра (максимум 255). До 9 из них также будут перечисленны в конце меню Файл.

• Кроме запоминания какие документы (файлы или диски) Вы недавно открывали, WinHex может дополнительно запоминать последние позиции редактирования и блок (если он был определен).

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

• Опция Многократное использование разрешает Вам запускать WinHex в нескольких экземплярах одновременно на одном компьютере. Если запретить это, WinHex помещает главное окно выполняющегося процесса на передний план вместо создания нового экземпляра программы.

• Не изменять время файла означает, что WinHex не станет менять время последнего изменения файла при сохранении модифицированного файла.

• Если Проверка избыточных секторов отключена, WinHex не будет пытаться найти избыточные сектора, когда открывает физический жесткий диск. Если дополнительные сектора обнаруживаются, WinHex запомнит их до следующего раза, когда Вы снова откроете диск. Вы можете вынудить WinHex к новой проверке, удерживая клавишу SHIFT при открытии диска. Проверка избыточных секторов может вызывать очень длительные задержки, странное поведение или даже повреждения Windows на некоторых системах. Только под Windows XP избыточные сектора включены автоматически, что делает эту опцию устаревшей.

• По умолчанию, окна редактирования не открываются развернутыми.

• WinHex по правому клику может отображать или специальное контекстное меню, или обычное меню Правка, или отмечать конец текущего блока.

• Если Вы отметите Показывать иконки файла, иконки файла будут видны на Панели деталей. Если в файле нет иконок, то будет показана иконка, соответствующая данному типу файла, но только тогда, когда опция отмечена полностью.

• Клавиша ENTER может быть использована для ввода до четырех двухцифровых hex-значений. Хороший пример - 0x0D0A, который интерпретируется как маркер конца строки в мире Windows (для Unix это 0x0D). Стартовый центр в этом случае может быть открыт по SHIFT+ENTER

• Решайте, хотите ли Вы использовать клавишу TAB для переключения между режимами текстовой и hex-правки или для ввода символа TAB (0x09). В любом случае, для переключения текущего режима может быть использован TAB+SHIFT.

2-ая колонка:

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

• Укажите папку, в которой будут создаваться файлы резервов (.whx).

• Укажите папку, в которой будут создаваться файлы проектов(.prj).

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

• Укажите путь к Вашей любимой внешней программе просмотра (см. меню Инструменты)

• Определитесь с количеством байт на строку в окне редактирования. Типичные значения 16 или 32 (в зависимости от разрешения экрана).

• Также определитесь, сколько байт будет отображаться в одной группе. Для большинства целей лучше всего подходят степени числа 2.

3-я колонка:

• Смещения могут быть представлены и введены в десятичной или hex (шестнадцатеричной) нотации. Эта настройка действует в целом на всю программу.

• При работе в редакторе RAM имеет смысл, чтобы WinHex показывал виртуальные адреса вместо смещений относительно нулевого значения. Это всегда будет производиться в шестнадцатеричной нотации. Диалоговое окно команды Перейти к смещению также будет запрашивать виртуальный адрес.

• Если Вы выбрали построчную прокрутку, можно включить показ разделителей страниц и секторов. При неполностью отмеченной опции будут отображаться только разделители секторов.

• Прокрутка может производиться построчно или постранично.

• Укажите, сколько строк прокручивать за одно движение колесика мышки (если оно используется, конечно).

• Вы можете выбрать один из нескольких различных стилей для диалоговых окон и кнопок.

• Использовать цвета Windows - это должно быть понятно без пояснений. Если отмечено не полностью, то при очень нетипичной (?!) цветовой схеме некоторые цвета системы будут все-таки проигнорированы.

• Выберите цвет для фона текущего блока. Цвет можно менять, если только отключена предыдущая опция.

• Выберите цвет фона каждой второй записи с фиксированной длиной, если отображение записей включено.

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

• Вы можете выбрать шрифт для режима ANSI ASCII. Шрифт WinHex включает в себя весь набор символов Windows (даже такие как TM, Euro, символы обратных кавычек).

• Опция прогрессбар как в Windows заменяет прогрессбар WinHex на стандартный, такой как в обычных программах Windows.

--

Для восстановления всех заводских настроек программы используйте команду Инициализация в меню Справка.


Ввод символов

В Hex-режиме могут быть введены только шестнадцатеричные символы ('0' ... '9', 'A' ... 'F'). В текстовом режиме Вы можете вводить все виды символов: буквы, числа, знаки препинания и специальные символы (такие как '”', ']' и '^').). Используйте Windows-программу ‘Таблица символов’, чтобы выяснить клавиатурные комбинации для таких символов (например Alt-0-1-7-7 для '±'). Встроенные в программу шрифты "WinHex" и “WinHex Big” поддерживают даже символ Euro (в Русском Winhex’е – еще и всю кириллицу).


Режимы редактирования
Режимы правки

Для каждого файла или диска Панель деталей отображает тот режим, в котором они были открыты. Контекстное меню Панели деталей позволяет избирательно изменять этот режим для активного окна.

Только чтение/Режим просмотра: Рекомендуется для компьютерных судебных экспертиз. Он является единственным режимом, который доступен в X-Ways Forensics для приведения в исполнение строгих судебных процедур (исключение только для файлов в текущей папке Дела, чтобы позволить декодировать, расшифровывать, и преобразовывать их и т.д.). Файлы или диски, которые открыты в режиме просмотра, не могут (преднамеренно или случайно) редактироваться / изменяться, а могут только просматриваться. Иными словами, они открыты защищенными от записи = только для чтения.

Режим правки по умолчанию: Изменения в файлах и дисках, открытых в этом режиме, хранятся во временных файлах. Эти временные файлы создаются и обслуживаются динамически по мере необходимости. Только когда Вы закрываете окно или используете команду "Сохранить" из меню Файл все изменения сбрасываются на диск и, после запроса к пользователю, оригинальный файл или диск обновляется.

Прямая правка: Будьте осторожны при открытии файлов или дисков в этом режиме. ВСЕ виды изменений (клавиатурный ввод, заливка/удаление блока, запись данных буфера, замены, ...) будут записаны в оригинальный файл или диск непосредственно ("напрямую") без предупреждений! Нет необходимости сохранять файл вручную после внесения изменений. Вместо этого модификации сохраняются автоматически, самое позднее при закрытии окна редактирования. Однако Вы можете использовать команду Сохранить, чтобы гарантировать, что буфер сброшен на диск в данный момент.

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

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


Строка состояния

Строка состояния отображает следующую информацию о файле:

1. Номер текущей страницы и общее количество страниц (а для редактора диска - секторов)

2. Текущая позиция (offset/смещение)

3. Десятичная трансляция hex-значений в текущей позиции

4. Начало и конец текущего блока (если он определен)

5. Размер текущего блока в байтах (если он определен)

Щелкните по ячейкам строки состояния, чтобы...

1. переместиться к другой странице/сектору,

2. перейти к другому смещению,

3. определить целочисленный тип для десятичной трансляции и

4. определить блок.

Щелкните правой кнопкой мыши по строке состояния, чтобы скопировать фрагменты информации в строке состояния в буфер обмена.

Щелчок правой кнопкой мыши по 2-му полю строки состояния позволяет переключаться между абсолютным (по умолчанию) и относительным представлениями смещения .

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


Полезные советы

• Используйте мышь для выделения блока (если у Вас отключено контекстное меню):

• Двойной левый клик указывает начало блока.

• Один правый клик указывает конец блока.

• Двойной правый клик очищает блок.

• Можно также использовать клавиатуру для выделения блока (Shift+клавиши-стрелки или Alt+1 и Alt+2).

• Используйте клавишу TAB для переключения между шестнадцетиричным и текстовым режимами.

• Используйте клавишу Ins для переключения между режимами вставки и замены.

• Ctrl+Q закроет все окна.

• Enter отобразит Стартовый центр.

• Ctrl+Enter покажет Оконный менеджер.

• ESC прервет текущую операцию, если она осуществляется, в противном случае очистит блок, закроет активное окно диалога или шаблона.

• PAUSE остановит / продолжит текущую операцию.

• F11 повторит последнюю команду Перейти к смещению. Ctrl+F11 работает в обратном направлении (относительно текущей позиции).

• Alt++  является вариантом команды Перейти к смещению только специально для перехода на определенное число секторов вниз.

• Alt+- это второй вариант и служит он для перехода на определенное число секторов вверх.

• Shift+F7 переключает 3 набора символов по кругу.

• (Shift+)Alt+F11 повторит последнюю команду Переместить блок.

• Alt+F2 производит пересчет авто-хэша (контрольной суммы или дайджеста) после того, как файл был изменен.

• Alt+Left и Alt+Right позволяет переключаться между записям внутри шаблона (как с помощью кнопок "<" и ">"). Alt+Home и Alt+End переместят к первой и последней записи соответственно.

• Alt+G переместит курсор в окне редактора к текущей позиции шаблона и закроет окно шаблона.

• Ctrl+F9 покажет меню кнопки Доступ (только в окне редактирования диска)

• WinHex принимает имена файлов в командной строке, а также совместим с операциями drag-and-drop.

• Пользуйтесь скриптами чтобы сделать Вашу работу с WinHex более эффективной.

• Можно указывать имя скрипта в качестве параметра командной строки.

• "Неверный ввод": После закрытия данного сообщения об ошибке, мигающий курсор показывает какой именно введенный Вами параметр нуждается в корректировке.

• Переключайтесь между шестнадцатеричным и десятичным представлениями смещений щелчком мыши по колонке с цифрами смещения.

• Попробуйте пощелкать мышкой на ячейках строки состояния (левой и правой кнопками)…


Редактор диска

Редактор диска, являющийся частью меню Инструменты, позволяет Вам получить доступ к гибким и жестким дискам на низшем уровне (минуя файловую систему). Диски состоят из секторов (обычно размером по 512 байт). Вы можете обращаться к диску либо логически (т.е. под управлением операционной системы) или физически (под контролем BIOS/Базовой Системы Ввода-Вывода). На большинстве компьютерных систем Вы можете даже обращаться к CD-ROM и DVD. Имеется дополнительный «сырой» режим для оптических приводов, который позволяет производить чтение аудио дисков, а также полностью 2352-байтовые сектора на компакт-дисках с данными (CD-ROM и Video CD) которые содержат дополнительные коды коррекции ошибок.

Открыть логический диск означает открыть непрерывную отформатированную часть диска (раздел), доступную в Windows как буква диска. Это еще называется "том". WinHex обращается к Windows для получения доступа к диску. Открыть физический диск означает открыть весь носитель, в том виде, как он присоединен к компьютеру, т.е. открыть жесткий диск, включающий все разделы. Это можно также назвать "сырое устройство". Для того, чтобы имелась возможность открытия диска указанным способом, обычно не требуется, чтобы он был специально отформатирован.

Обычно предпочтительнее открывать именно логические, а не физические диски, потому что в этом случае Вам предоставляется больше возможностей. В этом случае, например, "кластеры" назначаются файловой системой, WinHex-у известно распределение кластеров к файлам (и наоборот), имеют смысл понятия "свободное пространство" и "пространство, занятое остатками кластеров" («слэк»). И только в случаях, когда Вам требуется редактировать сектора, находящиеся вне логического диска (например главную загрузочную запись), или если Вы желаете искать что-нибудь на нескольких разделах одновременно, или если раздел поврежден или отформатирован неизвестной Windows файловой системой, так что Windows не в состоянии предоставить доступ к нему как к букве диска, Вы будете вынуждены открыть вместо этого физический диск. Используя меню, появляющееся при щелчке на кнопке «Доступ», Вы также можете отдельно открыть внутренний раздел физического диска.

Браузер директорий

Вопросы и ответы

Обратите внимание на следующие ограничения:

• Под Windows NT и системами на его базе, Вам будут нужны права администратора для доступа к жестким дискам.

• Недоступна функция замены.

• WinHex не может записывать на CD-ROM или DVD.

• Редактор диска не может оперировать с удаленными (сетевыми) дисками.

Правка свободного места на диске (Windows 95/98/Me)

Под Windows 95/98/Me существует возможность редактирования неиспользуемого на данный момент пространства на логическом диске. Вышеупомянутые ограничения в этом случае не применяются. WinHex создает файл, использующий все свободное место на выбранном диске. Вы можете редактировать этот файл в режиме прямой правки. В этой связи целостность данных в используемых частях диска не может быть нарушена.

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

Сохранить сектора: Команда может быть использована аналогично команде Сохранить для файлов. Является частью меню Файл. Записывает все модификации на диск. Имейте ввиду, что в зависимости от сделанных Вами изменений, это может привести к серьезному повреждению целостности данных на диске. Если соответствующая опция отмены включена перед тем, как они будут перезаписаны, создается резерв для соответствующих секторов. Эта команда доступна только в полной версии.

Здесь находится некоторая информация о Master Boot Record жесткого диска, которая может быть изменена Редактором диска.


Меню Файл

Новый: Эта команда используется для создания файла. Этот файл инициализируется нулевыми байтами и преимущественно открывается в режиме правки по умолчанию. Вы должны указать желаемый размер файла.

Открыть: Позволяет Вам открыть один или несколько файлов. Вы можете выбрать здесь режим правки, если он еще не был определен в меню Инструменты.

Сохранить: Сохраняет отображенный в настоящее время файл со всеми модификациями на диск. В режиме прямой правки эту команду использовать не требуется. При использовании Редактора дисков, эта команда сменит свое имя на "Сохранить сектора".

Сохранить как: Сохраняет в настоящее время отображенный файл под другим именем.

Создать резервную копию/Создать резерв диска

Загрузить резерв: Выберите файл с резервной копией (файл .whx), содержимое которого (файл или дисковые сектора) Вы хотели бы восстановить.

Менеджер резервов

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

Печать

Свойства: Позволяет изменить размер, данные о дате и времени, атрибуты файла (под Windows NT это возможно также и для директории). Допустимые атрибуты: A (архивный), S (системный), H (скрытый), R (только для чтения). После ввода нового значения в любое поле (размер, время или атрибуты) просто нажмите Enter для вступления изменений в силу.

Открыть папку: Эта команда используется для открытия нескольких файлов, которые одновременно все отвечают особым требованиям. Выберите папку, из которой надо открыть файлы. Опционально просматриваются подкаталоги. Вы можете указать серию масок файла (например "w*.exe;x*.dll"). Имеется также переключатель, который разрешает открывать только те файлы, которые содержат определенный текст или определенные шестнадцатеричные значения. Для этой цели будут отображаться стандартные поисковые диалоги. Если WinHex не настроен, чтобы работать как средство просмотра или как редактор прямой правки (это можно сделать в меню Настройки), Вы также можете здесь выбрать режим редактирования.

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

Сохранить все файлы: Все файлы, что не были открыты в режиме просмотра, будут записаны на диск.

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


Меню Правка

Отмена: Отменяет последнюю модификацию, если соответствующая опция отмен была активирована.

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

Копировать блок/все/сектор:

- Обычно: Копирует текущий блок/весь файл/текущий сектор в буфер. Содержимое буфера при необходимости может быть вставлено или вписано позже.

- В новый файл: Копирует данные непосредственно в новый файл (не через буфер). Например, эта команда может использоваться, чтобы восстановить потерянный файл с дисковых секторов.

- Hex-значения: Копирует данные как объединенные шестнадцатеричные значения.

- Отображаемое редактором: Копирует данные как текст, отформатированный так, как это делает на дисплее шестнадцатеричный редактор, т.е. со столбцами смещения, шестнадцатеричным и текстовым.

- Как C/Pascal исходники: Копирует данные в буфер обмена в виде, принятом для исходных текстов программ, написанных на C/Pascal.

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

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

Вставить данные буфера в новый файл: Создает новый файл из содержимого буфера.

Очистить буфер: Эта команда используется для освобождения памяти, занятой буфером обмена.

Удалить: Удаляет текущий блок из файла. Данные, следовавшие за блоком, будут перемещены к прежнему началу блока. На буфер обмена эта команда не воздействует. Если блок одинаково определен во всех открытых файлах (то есть начинается и заканчивается в тех же самых смещениях), эта команда может применяться сразу ко всем открытым файлам одновременно.

Вставить нулевые байты: Используйте эту команду, чтобы вставить нулевые байты в текущей позиции файла.

Определить блок: Эта функция доступна из меню и строки состояния. Диалоговое окно позволяет Вам определять желаемые границы блока. Эта команда также может применяться сразу ко всем открытым файлам.

Выбрать всё: Определяет в качестве границ блока начало и конец файла.

Конвертировать

Преобразовать

Залить блок/файл/дисковые сектора


Меню Поиск

Поиск текста: Эта команда используется для поиска указанной строки (до 50 символов) в текущем файле, диске или в секции оперативной памяти (см. Опции поиска).

Поиск Hex-значений: Эта команда используется для поиска последовательности (не более 50) двухсимвольных шестнадцатеричных значений (см. Опции поиска).

Заменить текст: Используйте эту команду для замены всех вхождений указанной строки на другую строку (каждая до 50 символов), см. Опции замены.

Заменить Hex-значения: Работает так же, как и команда Заменить текст, но применяется к последовательности (не более 50) двухсимвольных шестнадцатеричных значений, см. Опции замены.

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

Целочисленное значение: Введите целое число (в пределах 64-разрядного целочисленного значения со знаком). Эта функция ищет в текущем файле данные, которые могут быть интерпретированы как это целое число.

Значение с плавающей запятой: Введите число с плавающей запятой (например 12.34 = 0.1234 * 10^2 = 0.1234E2) и выберите соответствующий подтип данных. Эта функция будет искать в текущем файле данные, которые могут быть интерпретированы как введенное число с плавающей запятой.

Текстовые пассажи: Используйте эту команду для поиска последовательности букв (a-z, A-Z), цифр (0-9) и/или знаков пунктуации. Это полезно, например, если Вы собираетесь переводить текстовые вхождения, спрятанные где-нибудь в файле с исполняемым кодом. (Примечание переводчика: эта команда игнорирует текст, набранный в кириллице :(((  )

Установите чувствительность поиска, указав длину распознаваемой последовательности. Кликните на "Допускать символы Unicode" для того, чтобы алгоритм допускал нулевые байты между двумя символами.

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

Продолжить поиск: Позволяет Вам продолжить поиск в текущем файле с текущей позиции.


Меню Позиция

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

Перейти к странице/сектору: Пролистывает к указанной странице, сектору, кластеру. Имейте в виду, что область данных на дисках с FAT начинается с кластера #2.

Перейти к ячейке FAT/Файловой записи: Переходит к определенной ячейке в таблице размещения файлов на дисках с FAT или к определенной файловой (FILE) записи в главной файловой таблице (MFT) на дисках с NTFS, соответственно.

Переместить блок: Сдвигает выделение текущего блока (но не данные внутри блока) вперед или назад. Укажите расстояние в байтах. Нажмите Alt+F11 для повторения последнего передвижения блока, нажмите Shift+Alt+F11, чтобы передвинуть выделение на то же расстояние в обратном направлении. Эта команда может облегчить редактирование файла, содержащего однородные записи фиксированной длины.

WinHex сохраняет историю Ваших перемещений внутри документа и позволяет позже перемещаться вперед и назад по цепи.

Перейти к...

Началу файла: Отображает первую страницу текущего файла и перемещает текущую позицию к нулевому смещению.

Концу файла: Отображает последнюю страницу текущего файла и перемещает текущую позицию к последнему байту (смещение = размер файла - 1).

Началу блока: Перемещает текущую позицию к началу текущего блока.

Концу блока: Перемещает текущую позицию в конец текущего блока.

Пометить позицию: Помечает текущую позицию, позволяя вновь найти ее позже.

Удалить метку: Удаляет метку с экрана.

Перейти к метке: Перемещает текущую позицию к метке, ранее созданной с помощью команды “Пометить позицию”.

Позиционный менеджер


Меню Окно

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

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

Закрыть все: Закрывает все окна и, таким образом, все открытые файлы, диски и секции RAM.

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

Каскад/Мозаика: Упорядочивает окна соответствующим способом.

Свернуть все: Сворачивает все окна.

Расположить иконки: Эта команда упорядочивает все свернутые окна.


Меню Инструменты

Открыть диск

Список кластеров файла: Доступно для дисков с файловыми системами FAT и NTFS. На дисках с FAT эта команда полагается на последнюю карту диска, сгенерированную командой “Перепроверка кластерных цепочек”. WinHex ищет кластеры, которые назначены на файл или каталог, который Вы укажете. Чтобы проделать эту операцию с директорией, наберите имя директории, не выбирая ее в списке папок. Найденные кластеры будут перечислены в небольшом отдельном окне. Вы можете кликать по элементам списка, чтобы просмотреть соответствующий кластер. Используйте контекстное меню, чтобы скопировать перечисленные кластеры диска в новый файл или скопировать сам список в текстовый файл.

Перепроверка кластерных цепочек: Работает на дисках с FAT и NTFS. WinHex пересмотрит все кластерные цепочки и, таким образом, сгенерирует карту диска. Это дает возможность WinHex соотнести каждый сектор с определенным файлом или директорией. Полнота списка удаленных файлов на дисках с NTFS в браузере директорий также зависит от выполнения этой команды. Рекомендуется вызывать ее после файловых операций на диске, чтобы информация, отображаемая WinHex, была свежей. См. опции безопасности.

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

Инициализация кластерных остатков: Перезаписывает так называемый “слэк/slack” (неиспользованные байты, расположенные за фактическим концом файла, в последних кластерах всех кластерных цепочек) нулевыми байтами. Может использоваться в дополнение к "Инициализации свободного места", чтобы надежно затереть секретные данные на диске или уменьшить необходимое пространство для сжатой резервной копии диска (такой как резерв WinHex). Перед использованием этой команды закройте любое выполняющееся или резидентное приложение, которое может производить запись на диск.

Инициализация MFT записей: На дисках с NTFS, WinHex может произвести очистку всех на данный момент неиспользуемых $Mft (Master File Table) файловых записей, поскольку они все ёще могут содержать имена и фрагменты файлов, которые ранее хранились в них.

Клонировать диск

Восстановление файлов по имени

Восстановление файлов по типу

Установка параметров диска: Применяя эту команду на физическом диске, Вы можете переопределить количество цилиндров, головок и секторов на дорожку другими значениями, отличающимися от тех, которые смог определить WinHex. Это может быть полезно для обращения к избыточным секторам в конце диска (в случае, если они не были обнаружены WinHex), или для корректировки системы координат CHS под Ваши потребности. Используйте эту команду на логическом диске, чтобы изменить общее количество кластеров, которое определил WinHex на этом диске. Это может оказаться полезным при исследовании огромных DVD дисков, но которые определяются как 2 ГБ носители под Windows 9x.

Открыть RAM

Вызвать текстовый редактор: Запускает внешний текстовый редактор (выбраный в диалоге Общих настроек). Открывает текущий файл или текущий блок в этом редакторе. Если Вы измените файл или блок в редакторе, WinHex может впоследствии принять эти изменения.

Вызвать внешний просмотровщик: Запускает внешнюю программу просмотра файлов (например такую как Quick View Plus и т.п., выбранную в диалоге Общих настроек). Открывает текущий файл или блок в этой программе.

Вызвать X-Ways Trace: Команда будет доступна, если только X-Ways Trace установлен. Эта программа может анализировать файл истории (index.dat) Internet Explorer-а и файлы info2 Корзины Windows.

Калькулятор: Запускает Калькулятор Windows ("calc.exe"). Очень рекомендуется переключение его в инженерный вид.

Hex-конвертер: Дает возможность Вам преобразовать шестнадцатеричные числа в десятичные и наоборот. Просто наберите число и нажмите ENTER.

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

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

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

Вычислить хэш: Вычисляет одну из следующих контрольных сумм / дайджест для текущего блока /всего файла /всего диска: 8-бит, 16-бит, 32-бит, 64-разрядные контрольные суммы, CRC16, CRC32, MD5, SHA-1, SHA-256 или PSCHF.


Меню Настройки

Общие настройки

Опции отмен

Опции безопасности и сохранности данных

Интерпретатор данных

Режим правки

Набор символов: Позволяет Вам переключаться между ANSI-ASCII, IBM-ASCII, и EBCDIC символами для отображения и клавиатурного ввода. Возможно использование комбинации клавиш Shift+F7. EBCDIC (происходящий из мэйнфреймов IBM) на данный момент не поддерживается командой Печать.


Менеджер файлов

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

Разрезать: Эта команда создает несколько выходных файлов, используя содержимое одного исходного файла. Укажите размер единичного “куска” для выходного файла. Эта функция никак не воздействует на исходный файл.

Объединить: Выберите несколько исходных файлов, которые будут скопированы в один конечный файл. Исходные файлы останутся неизменными.

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

Раскроить: Выберите один исходный файл и два файла назначения. Байты/слова из исходного файла будут записаны попеременно в два конечных файла. Первый байт/слово будет занесен в тот файл назначения, который будет указан первым. Используйте эту функцию для создания двух раздельных файлов, один из которых будет содержать в себе четные, а другой нечетные байты/слова оригинального файла (например для программирования EPROM).

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

Сравнение будет происходить, начиная от смещений, определенных для каждого окна редактирования. Эти смещения могут быть и различными, например байт в смещении 0 файла А будет сравниваться с байтом в смещении 32 файла В, соответственно байт в смещении 1 файла А будет сравниваться с байтом в смещении 33 файла В и т.д. Если Вы выберите для сравнения окно редактирования, текущая позиция будет автоматически внесена в поле «От смещения».

В WinHex существует еще одна функция сравнения: Вы можете сравнить окна редактирования визуально а также синхронизировать прокрутку в этих окнах (см. меню Вид).

Копировать: Копирует файл.

Переместить: Используйте эту команду для перемещения/переименования существующего файла. Исходный файл будет удален.

Надежно затереть: Эта команда используется для невосстановимого стирания содержимого одного или более файлов, так что они уже не могут быть восстановлены даже самим WinHex’ом и другими специальными программами для восстановления файлов. Каждый выбранный файл перезаписывается согласно текущим параметрам настройки, укорачивается до длины, равной нулю и только затем удаляется. В полной версии WinHex также затирается имя файла из файловой записи. Даже профессиональная попытка восстановления теперь окажется бесполезной. Поэтому эта команда должна применяться к файлам с конфиденциальным содержимым, которое должно быть уничтожено.


Меню Справка

Содержание: Отображает содержание справки программы.

Установка: Позволяет переключаться между Английским и Русским языками интерфейса.

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

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

Онлайн: Открывает домашнюю страницу WinHex (http://www.winhex.com), форум поддержки (http://www.winhex.net), Базу Знаний (http://www.winhex.com/winhex/kb/), или страницу подписки на рассылку новостей в Вашем Интернет браузере.

О WinHex: Показывает информацию о WinHex (версию программы, уровень Вашей лицензии, другую информацию).


Печать

Используйте команду "Печать" из меню Файл для печати файла,

дисковых секторов или содержимого RAM. Определите диапазон печати,

указав смещения. Вы можете также выбрать и настроить принтер.

Выберите набор символов и размер шрифта для печати.

Рекомендуемый размер шрифта вычисляется следующим образом:

разрешение печати (например 720 dpi) / 6 (т.е. = 120). При желании

можете внести комментарий, который будет допечатан в конце.

Если требуются более расширенные возможности печати, Вы можете

определить блок и скопировать его используя

"Правка->Копировать блок->Отображаемое редактором" как

форматированный hex-редактором текст в буфер обмена. Затем Вы можете

вставить его в Ваш любимый текстовый процессор. Все это должно неплохо

смотреться со шрифтом "Courier New", 10.


Блок

Вы можете пометить часть открытого файла как "блок". Эта часть может

быть обработана некоторыми функциями в меню “Правка” аналогично

выделению в других программах Windows. Если блок не определен, эти

функции обычно применяются ко всему файлу.

Текущая позиция и размер блока отображаются в строке состояния.

Двойной клик правой кнопкой мыши, а также нажатие клавиши ESC очищают блок.

Полезные советы


Модификация данных

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

Перестановка байтов

Эта команда предполагает, что все данные состоят из 16-разрядных элементов (как вариант - 32-разрядных элементов) и переставляет старшие и младшие байты (старшие и младшие слова соответственно). Используйте эту функцию, чтобы преобразовать данные из big-endian в little-endian и обратно.

Добавление

Укажите положительное или отрицательное, десятичное или шестнадцатеричное число, которое будет добавлено к каждому элементу текущего блока. Целочисленный формат определяется размером (1, 2 или 4 байта) и типом (со знаком или без знака) элемента.

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

I.) новым значением становится предел диапазона;

II.) переполнение игнорируется

Пример: беззнаковый 8-битный формат

I.	FF + 1 -> FF	(255 + 1 -> 255)

II.	FF + 1 -> 00	(255 + 1 -> 0)

Пример: 8-битный со знаком

I.	80 - 1 -> 80	(-128 - 1 -> -128)

II.	80 - 1 -> 7F	(-128 - 1 -> +127)

• Если Вы решите применить первый метод, WinHex сообщит Вам, сколько раз был превышен предел.

• Второй метод гарантирует обратимость операции. Просто добавьте -x вместо x, используя тот же формат целого, чтобы воссоздать оригинальные данные.

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


Конвертация

WinHex предлагает команду "Конвертировать" в меню Правка для удобного преобразования данных разных форматов, а также для их шифрования и дешифрования. Конвертирование может быть применено ко всем открытым файлам, а не только к отображаемому в данный момент. Форматы, отмеченные звездочкой, могут преобразовываться только целым файлом, но не блоком. Поддерживаются следующие форматы:

• ANSI ASCII, IBM ASCII (два разных набора символов ASCII)

• EBCDIC (набор символов для мейнфреймов IBM)

• Символы нижнего/ВЕРХНЕГО регистров (ANSI ASCII)

• Бинарный* (сырые данные)

• Hex ASCII* (шестнадцатеричное представление «сырых» данных в виде ASCII текста)

• Intel Hex* (=Extended Intellec; hex ASCII данные в специальном формате, включающем контрольные суммы)

• Motorola S* (=Extended Exorcisor; hex ASCII данные в специальном формате, включающем контрольные суммы)

• Base64*

• UUCode*

Имейте в виду:

• При конвертации данных Intel Hex или Motorola S внутренние контрольные суммы этих форматов не проверяются.

• В зависимости от размера файла, минимально возможный выходной субформат выбирается автоматически. Intel Hex: 20-бит или 32-бит. Motorola S: S1, S2, или S3.

• При конвертации из бинарного формата в Intel Hex или Motorola S, преобразуются только не заполненные hex-значениями FF регионы памяти для того, чтобы сделать результирующий файл более компактным.

Шифрование/Дешифрование

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

В программе применен алгоритм шифрования "Pukall Cipher 1" (PC 1), использующий 128-разрядный ключ (=128-битный дайджест ключа который Вы вводите).


Опции поиска

Учитывать регистр: Если эта опция включена, WinHex будет различать верхний и нижний регистры, например "Возможно" не будет найдено в слове "возможность".

Кодировка Unicode: Поиск указанного текста будет производиться с использованием 256 ANSI-ASCII-эквивалентных Unicode символов, у которых верхний значащий байт будет равен 0. Функция одновременного поиска позволяет производить поиск одинакового текста одновременно в Unicode и ASCII кодировках. Для этого режима чекбокс должен быть отмечен наполовину (неопределенное состояние).

(Примечание переводчика: для русского текста верхний значащий байт равен 4, следовательно русский текст в формате Unicode найден не будет :((( )

Вы можете указать маску (один символ или двухцифровое hex-значение), которая будет представлять один байт. Например, это опция может быть использована для того, чтобы найти "Крым" также, как и "Крем" при поиске "Кр?м" со знаком ? в качестве маски.

Слово целиком: Разыскиваемая строка будет распознана только если она будет отделена от других слов, например знаками пунктуации или пробелами. Если включить эту опцию, "томат" не будет найден в слове "автоматизация".

Где искать: В зависимости от Ваших указаний WinHex будет производить поиск от начала и до конца файла, или вверх или вниз от текущей позиции.

Условие: Смещение modulo x = y: Алгоритм поиска принимает вхождения только в смещениях, отвечающих данным условиям. К примеру, если Вы ищете данные, которые обычно располагаются на 10-м байте сектора жесткого диска, Вы можете указать x=512, y=10. Если же Вы ищете данные, выровненные по двойным словам (DWORD = 4 байт), Вы можете использовать x=4, y=0, чтобы уменьшить количество вхождений.

Искать только в блоке: Зона поиска ограничивается только текущим блоком.

Во всех открытых окнах: Поиск будет проводиться во всех открытых окнах. Нажмите F4 для продолжения поиска в следующем окне. Если же одновременно применена и опция "Искать только в блоке", поиск будет ограничен текущим блоком в каждом окне.

Подсчитать вхождения/Сохранить позиции вхождений: Заставят WinHex не показывать каждое одиночное вхождение, а подсчитывать их количество. Если эта опция будет отмечена полностью, WinHex занесет позиции всех вхождений в Позиционный менеджер.

Поиск "несоответствий": В диалоговом окне «Поиск Hex-значений» Вы можете указать одиночное hex-значение с префиксом в виде восклицательного знака (например !00) для того, чтобы при поиске WinHex остановился на первом байте со значением, несоответствующим указанному.

Меню Поиск

Опции замены

Технические характеристики


Опции замены

Сообщать если найдено: WinHex будет ждать Вашего решения, если вхождение будет найдено. Вы можете или заменить его, или продолжить, или отменить поиск.

Заменить все вхождения: Все вхождения заменяются автоматически.

Учитывать регистр: Поиск символов, которые нужно заменить, будет производиться в соответствии с этой опцией (см. Опции поиска).

Кодировка Unicode: Поиск и замена указанных символов будет производиться в формате Unicode (см. Опции поиска).

Вы можете указать один символ или двухцифровое hex-значение в качестве маски (см. Опции поиска). Это обычно делается в строке поиска.

Если поле “Заменить на” содержит маску, символ, находящийся в соответствующей относительной позиции во вхождении заменен не будет. Таким образом, "black" и "block" могут быть одновременно заменены на "crack" и "crock" (нужно ввести Найти: "bl?ck" и Заменить на: "cr?ck").

Слово целиком: Разыскиваемая строка будет распознана, только если она будет отделена от других слов, например, знаками пунктуации или пробелами. Если включить эту опцию, "томат" не будет заменен в "автоматизация".

Где искать: В зависимости от указания WinHex будет производить замену от начала и до конца файла, или вниз или вверх от текущей позиции.

Заменить только в блоке: Область замены ограничивается только текущим блоком.

Заменить во всех открытых окнах: Замена будет проводиться во всех открытых окнах, которые не открыты в режиме просмотра. Если же одновременно применена и опция "Заменить только в блоке", операция замены будет ограничена текущим блоком в каждом окне.

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

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

2-ой метод: Замена записывается в файл в позиции совпадения. Если заменяющее значение короче, чем разыскиваемая последовательность символов, “лишние” символы останутся в файле. Если же длиннее, то даже байты, следующие за совпадением, будут перезаписаны (если конец файла еще не достигнут). Размер файла в любом случае останется неизменным.

Меню Поиск

Опции поиска

Технические характеристики


Опции отмен

Доступность команды “Отмена” зависит от следующих опций:

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

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

• Автоматически создаваемые резервы для внутреннего использования с командой Отмена будут удаляться WinHex при закрытии файла, в случае если соответствующая опция будет полностью отмечена. Если она только частично отмечена, они будут удаляться только при завершении работы WinHex.

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


Позиционный менеджер

Позиционный менеджер обслуживает список файловых или дисковых смещений и соответствующих им описаний, также еще называемых аннотациями. Вы можете вводить новые позиции, а также редактировать или удалять существующие. Если определенное смещение в файле важно для Вас, Вы можете добавить его в Позиционный менеджер. Это намного упрощает последующий поиск, и Вам не нужно помнить эти смещения. А соответствующее описание, например, могло бы быть вроде такого: "Фрагмент данных начинается здесь!". Дополнительно все позиции, обслуживаемые Позиционным менеджером могут быть подсвечены в окне редактора, а их описания могут отображаться в желтых всплывающих окошках при наведении указателя мыши. Вы также можете добавлять или редактировать позиции с помощью контекстного меню окна редактора или если Вы нажмете центральную кнопку мышки в окне редактирования.

Кликнув правой кнопкой, можно вызвать контекстное меню в самом Позиционном менеджере. Контекстное меню предоставляет дополнительные команды. Вы можете удалять, загружать или сохранять позиции, даже экспортировать список как HTML. Если список позиций был изменен, при закрытии WinHex он будет сохранен в файле WinHex.pos.

Окно менеджера может быть свернуто, и тогда Вы можете переключаться между позициями в нужном направлении, нажимая Ctrl+Left и Ctrl+Right.

Полная документация формата POS-файлов находится на домашней странице WinHex http://www.winhex.com.


Менеджер резервов

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

Вы можете восстановить резерв…

• во временный файл так, что Вы еще будете должны сохранить его,

• немедленно и непосредственно на диск, или…

• в новый файл.

В случае использования дисковых секторов Вы можете также указать другой диск назначения или иной номер сектора, в который будет производиться восстановление. Можно также только извлечь некоторое количество секторов из резерва. (Однако, сектора в начале сжатого резерва не могут быть пропущены во время восстановления.) Если резерв был сохранен вместе с контрольной суммой или/и дайджестом, целостность данных будет проверена перед тем, как сектора будут записаны непосредственно на диск.

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

Файлы резервов, обслуживаемых менеджером резервов, расположены в папке, определенной в диалоге Общих настроек. Они имеют имена вида "xxx.whx" где xxx – это уникальный 3-цифровой идентификационный номер. Этот номер отображается в последней колонке списка.

Полная документация WHX формата доступна на домашней странице WinHex http://www.winhex.com.


Интерпретатор данных

Интерпретатор данных – это небольшое окно, осуществляющее "услуги перевода" для данных в текущей позиции курсора. Диалог настройки Интерпретатора данных позволяет Вам определить типы данных, которые следует интерпретировать. На данный момент это девять целочисленных типов данных (по умолчанию в десятичной нотации, но можно и в шестнадцатеричной или восьмеричной), бинарный формат (8 бит на байт), четыре типа данных с плавающей запятой, коды ассемблера (Intel), и шесть типов даты.

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

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

Подсказка:

Некоторые hex-значения не могут быть переведены в числа с плавающей запятой. Для таких hex-значений Интерпретатор данных отображает NAN (not a number/это не число).

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

В наборе инструкций Intel имеется некоторый избыток, который обнаруживается в Интерпретаторе данных дублированием как Hex опкодов, так и мнемоники. Инструкции с плавающей запятой обычно отображаются как F ***.

Более детальная справочная информация может быть найдена в Intel Architecture Software Developer’s Manual Volume 2: Instruction Set Reference, доступном в PDF формате в Интернет.


Редактор памяти
Редактор RAM

Редактор RAM является частью меню Инструменты.

Он позволяет исследовать виртуальную память процесса (то есть программы, которая выполняется). Все страницы памяти, принадлежащие этому процессу, представлены в виде непрерывного блока. Неиспользованные (свободные или зарезервированные) страницы по умолчанию игнорируются, но могут быть включены и будут отображаться символами "?". Без таких промежутков Вы можете непосредственно друг с другом сравнивать дампы памяти и файлы (абсолютные и виртуальные адресации идентичны), например исследовать стек и состояние «кучи» или наблюдать за вирусами.

Выберите один из процессов, перечисленных в диалоговом окне. Вы можете обращаться или к так называемой первичной памяти, или к полной памяти этого процесса, или к одному из загруженных модулей. Первичная память используется программами практически для всех целей. Обычно она также содержит основной модуль процесса (EXE-файл), стек и «кучу». "Вся память" содержит полную виртуальную память процесса, включая часть памяти, которая является общей для всех процессов, кроме системных модулей. Под Windows 95/98 системные модули отображаются в дереве процессов опционально. Системные модули определены как модули, которые загружены выше барьера в 2 ГБ (такие как kernel32.dll, gdi32.dll). Они разделены между всеми выполняющимися процессами.

Пожалуйста, обратите внимание на следующие ограничения:

• Внимание: отменен может быть только клавиатурный ввод!

• Виртуальная память 16-разрядных процессов частично доступна только в Windows 95/98.

• Редактирование возможно только в режиме прямой правки.

• Системные модули Windows 95/98 могут только исследоваться в режиме просмотра, но не управляться.

• В ознакомительной версии доступен только режим просмотра. Закажите полную версию!

Для редактора RAM уместны опции "Проверка чередования виртуальной памяти" (опции безопасности) и "Виртуальные адреса" (общие настройки).


Контекстное меню

Оболочка Windows отображает контекстное меню, когда пользователь кликает по объекту правой кнопкой мыши. WinHex присутствует в контекстном меню только в том случае, если Вы допускаете соответствующую опцию.

Редактировать в WinHex: Откроет выбранный файл в  WinHex.

Открыть папку в WinHex: Позволяет Вам открыть все файлы выбранной папки в WinHex, также как с помощью команды «Открыть папку» из меню Файл.

Открыть диск в WinHex: Откроет выбранный диск в Редакторе дисков WinHex. Если при этом удерживать нажатой клавишу Shift, вместо выбранного логического диска будет открыт соответствующий ему физический, если это возможно. (Последняя особенность не доступна под Windows NT.)

WinHex предоставляет собственные контекстные меню для строки состояния, для Интерпретатора данных и для Позиционного менеджера.


Замечание
Вы не можете запускать эту версию как полную, используя этот лицензионный файл. Однако, похоже, что Ваша лицензия все еще предоставляет Вам право на бесплатное обновление. Вероятно, Вы уже получили новый лицензионный файл автоматически! Пожалуйста, проверьте Вашу электронную почту. Вы также можете проконсультироваться по адресу http://www.x-ways.net/winhex/upgrade.html или обратится к mail@x-ways.com за помощью (не забудьте указать Ваше полное имя и адрес).


Ключ

Укажите строку, состоящую из 1-16 символов в качестве

ключа шифрования/дешифрования. Чем больше символов

введено, тем безопаснее шифрование. Сам ключ не применяется

для шифрования и дешифрования, вместо него создается

дайджест настоящего ключа.

Ключ не сохраняется на жестком диске. Если соответствующая

опция безопасности включена, ключ хранится в зашифрованном

состоянии в памяти компьютера только пока работает WinHex.


Создание резерва
Создание резервной копии/Создание резерва диска

Позволяет создать безопасную резервную копию (далее используется термин «резерв») текущего файла или секторов текущего диска (образ диска). Резервы хранятся в файлах типа .whx.

При создании резерва физического диска или логического диска (так называемое отображение или образ диска), Вы должны указать какие сектора следует сохранять. По умолчанию выбираются все сектора начиная с текущей позиции. Вы можете разрезать резерв на архивы фиксированной величины (к примеру резервирование по частям размером 650 MБ применимо для архивирования образа диска на CD-R). Чтобы уменьшить размеры резерва, рекомендуется инициализация свободного места перед созданием образа. Это обусловлено тем, что только сектора, заполненные нулевыми значениями не увеличивают размеры резерва при применении компрессии.

Замечания по поводу клонирования дисков и использования образа диска

Если Вы решите, чтобы WinHex назначил имя whx-файлу автоматически, то последний будет создан в папке для резервов (см. Общие настройки), с именем, соответствующим первому незанятому согласно соглашению об именах для Менеджера резервов ("xxx.whx"), и будет доступен в Менеджере резервов. Если Вы сами укажете путь и имя файла, то позже сможете восстановить резерв используя команду ”Загрузить резерв“, а в случае использования «сегментированного» резерва WinHex автоматически добавит номер тома к имени файла.

Вы можете назначить некоторое текстовое описание для резерва.

Формат .whx позволяет хранить контрольную сумму или дайджест оригинальных данных, а также произвести шифрование. Шифрование и подсчет дайджеста существенно замедляют создание резерва, поэтому эти функции следует использовать только если есть особая потребность в достоверности данных. При восстановлении резерва с дайджестом отсутствие предупреждающих сообщений WinHex гарантирует, что данные в резерве не были подвергнуты никакому вмешательству!

В программе применен алгоритм шифрования "Pukall Cipher 1" (PC 1), использующий 128-разрядный ключ, получаемый как дайджест 256-битного объединения 128-битного ключа, введенного Вами, и произвольного 128-битного ввода. Последний сохраняется в .whx-файле для использования при последующем дешифровании.

WinHex использует для сжатия алгоритм "Deflate", являющийся частью общедоступной библиотеки zlib. Этот алгоритм содержит LZ77 сжатие и Huffman кодирование. Коэффициент сжатия такой же, как и у алгоритма ZIP.

Полная документация фомата файлов .whx расположена на домашней странице WinHex http://www.winhex.com.


Опции безопасности и целостности данных

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

• Включение опции Автоматическая проверка секторов заставляет WinHex автоматически обходить кластерные цепочки FAT диска или диска с NTFS, если этот диск открыт в WinHex, а необходимая структура диска еще не существует. Используя карту диска, WinHex способен отобразить распределение каждого сектора и кластера (которые использованы для хранения файла). Используйте команду "Перепроверка кластеров“ из меню Инструменты, чтобы обновить карту диска.

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

• * Используйте опцию Проверка чередования виртуальной памяти, чтобы быть уверенным, что редактор RAM проверяет структуру виртуальной памяти каждый раз перед чтением или записью . Если структура изменилась, возможная ошибка чтения будет предотвращена. Особенно под Windows NT проверка может приводить к потере скорости. При редактировании "Всей памяти" процесса WinHex обычно никогда не проверяет изменения, даже если эта опция включена.

• Хэш контрольной суммы может быть рассчитан автоматически для каждого файла при его открытии. Он будет отображен в Панели деталей. Контрольные суммы и дайджест могут также быть рассчитаны при помощи меню Инструменты.

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

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

• Ключ, необходимый для шифрования и дешифрования, может вводиться в нормальное текстовое поле. Но можно вводить его и вслепую (символы звездочка “*” вместо реальных символов). В этом случае Вам нужно будет подтвердить ключ во втором текстовом поле для выявления опечаток.

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

• Решите для себя, должен ли WinHex всегда вывести запрос на выполнение скрипта, или только перед выполнением его посредством командной строки.


Little-endian и Big-endian

Микропроцессоры отличаются по расположению младшего значащего байта: для процессоров Intel®, MIPS®, National Semiconductor и VAX он расположен первым. Мультибайтное значение располагается в памяти от нижнего байта ("little end" т.е. малый конец :(   ) к верхнему. Например, hex-значение 12345678 хранится как 78 56 34 12. Это называется формат little-endian.

Процессоры Motorola и Sparc имеют младший значащий байт расположенным последним. Мультибайтное значение располагается в памяти от верхнего байта ("big end" т.е. большой конец :)) ) к нижнему. Например, hex-значение 12345678 хранится как 12 34 56 78. А вот это называется big-endian формат.


Дайджесты

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

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

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

В WinHex встроен широко известный 128-битный MD5 месседж-дайджест, SHA-1, SHA-256, и PSCHF (хэш-функция "Pukall Stream Cipher").


Форматы даты и времени

Форматы, указанные ниже, поддерживаются Интерпретатором данных:

Дата и время MS-DOS (4 байта)

Нижнее слово определяет время, а верхнее слово - дату. Используется при вызове нескольких функций DOS, а также всеми файловыми системами FAT.

Биты	Содержание

0-4	Секунды, деленные на 2

5-10	Минута (0-59)

11-15	Час (0-23 по 24-часовому отсчету)

16-20	День месяца (1-31)

21-24	Месяц (1 = Январь, 2 = Февраль, и т.д.)

25-31	Количество лет, прошедших с 1980 года

Win32 FILETIME (8 байт)

Структура FILETIME – это 64-разрядное целое число, представляющее время в 100-наносекундных интервалах, прошедших с 1 января 1601 года. Используется в Win32 API.

Дата и время OLE 2.0 (8 байт)

Значение с плавающей запятой (точнее: тип Double), целая часть которого определяет, сколько прошло дней, начиная с 30 декабря 1899 года. Дробная часть интерпретируется как время дня (например 1/4 = 6:00 утра). Это стандартный тип для OLE 2.0, например, его использует MS Excel.

Дата и время ANSI SQL (8 байт)

Два совмещенных 32-разрядных целочисленных значения. Первое определяет количество дней начиная с 17 ноября 1858. Второе - количество интервалов по 100 микросекунд, прошедших с полуночи. Это – стандарт для ANSI SQL и используется во многих базах данных (например, InterBase 6.0).

Дата и время UNIX/C (4 байта)

32-разрядное целочисленное значение, определяющее количество секунд, прошедших после 1.1.1970. Этот тип данных используется в UNIX, DOS C и C++ ("time_t"), а также программами на FORTRAN’e с 80-х годов. Иногда определяется как количество минут , прошедших после 1.1.1970. Интерпретатор данных дает Вам возможность переключаться между этими двумя субтипами.

Дата и время Java (8 байт)

64-разрядное целое значение, определяющее количество миллисекунд, прошедших с 1 января 1970. Преимущественно хранится в формате big endian, который является типичным для Java.


Главная загрузочная запись
Master Boot Record

Master Boot Record/главная загрузочная запись располагается в физическом начале жесткого диска и может редактироваться Редактором диска. Она состоит из master bootstrap loader code/кода загрузчика (446 байт) и четырех идентично структурированных partition records/описателей разделов. Наконец, правильный Master Boot Record завершает шестнадцатеричная сигнатура 55AA.

Формат описателей разделов следующий:

Смещение	Размер	Описание

0	8 бит	Флаг активности раздела – 80h=активный, 0=нет

1	8 бит	Номер начальной головки раздела

2	8 бит	Номер начального сектора (биты 0-5)

3	8 бит	Номер начального цилиндра (биты 8,9 in "start sector" as bits 6,7)

4	8 бит	Системный код (см. ниже)

5	8 бит	Номер конечной головки

6	8 бит	Номер конечного сектора (биты 0-5)

7	8 бит	Номер конечного цилиндра (биты 8,9 in "end sector" as bits 6,7)

8	32 бит	Относительный номер начального сектора

C	32 бит	Количество секторов в разделе

Системный код: (hex, список неполный)

00	Неизвестный, неформатированный

01	DOS FAT12

04	DOS FAT16 (до 32 MБ)

05	Расширенный раздел DOS 3.3+

06	DOS 3.31+ FAT16 (более 32 MБ)

07	OS/2 HPFS, Windows NT NTFS, Advanced Unix

08	OS/2 v1.0-1.3, AIX загрузочный раздел, SplitDrive

09	AIX data partition

0A	OS/2 Boot Manager

0B	Windows 95+ FAT32

0C	Windows 95+ FAT32 (используется расширение INT 13 для LBA-режима)

0E	DOS FAT16 (более 32 MБ, используется расширение INT 13)

0F	Расширенный раздел (используется расширение INT 13)

17	Скрытый раздел NTFS

1B	Скрытый раздел Windows 95 FAT32

1C	Скрытый раздел Windows 95 FAT32 (используется расширение INT 13 для LBA-режима)

1E	Скрытый раздел LBA VFAT

42	Dynamic disk volume

50	OnTrack Disk Manager, read-only partition

51	OnTrack Disk Manager, read/write partition

81	Linux

82	Linux Swap partition, Solaris (Unix)

83	Linux native file system (ext2fs/xiafs)

85	Linux EXT

86	FAT16 volume/stripe set (Windows NT)

87	HPFS fault-tolerant mirrored partition, NTFS volume/stripe set

BE	Solaris boot partition

C0	DR-DOS/Novell DOS secured partition

C6	Corrupted FAT16 volume/stripe set (Windows NT)

C7	Corrupted NTFS volume/stripe set

F2	Вторичный раздел DOS 3.3+


Зачистка и инициализация

Для надежного стирания (уничтожения) данных, а также просто для заливки файлов или дисковых секторов некоторыми байтовыми значениями, WinHex предлагает следующие возможности:

Залить hex-значениями: Укажите 1, 2, 3, 4, 5, 6, 12, 15, или 16 двухсимвольных hex-значений, которые будут скопированы многократно в текущий блок, во весь файл или во все дисковые сектора соответственно.

Залить произвольными байтами: Укажите десятичный интервал (от 0 до 255 макс.) для произвольных чисел, которые будут скопированы многократно в текущий блок, во весь файл или во все дисковые сектора соответственно. Байты распределяются по распределению Лапласа.

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

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

Согласно Clearing and Sanitization Matrix, стандарт, определенному в Американском Департаменте Защиты (DoD) в инструкции 5220.22-M ( метод "c"), жесткий диск или гибкий диск может быть очищен,  путем перезаписи (однократной) всех адресуемых позиций одиночным символом. Обычно это - шестнадцатеричное значение 0x00, но может быть и любое другое значение. Чтобы зачистить жесткие диски согласно методу "d", перезаписываются все адресуемые позиции некоторым символом, затем его дополнением, затем случайным символом, и проверяется. (Этот метод не одобрен DoD для очистки носителей, которые содержат информацию высшей степени секретности.)

Кнопка "DoD" конфигурирует WinHex для очистки таким образом, что сначала происходит перезапись значениями 0x55 (двоичное 01010101), затем его дополнением (0xAA = 10101010), и, наконец, произвольными байтовыми значениями.

Кнопка "0x00" конфигурирует WinHex для простой инициализации: однократному заполнению нулевыми байтами.


Редактор дисков: вопросы и ответы

Как мне обратиться к дисковым секторам CD-RW ?

DirectCD и PacketCD не должны быть установлены на Вашей Windows системе.

Как мне обратиться к дисковым секторам CD-ROM под Windows 9x?

Пожалуйста, удостоверьтесь, что выполняются следующие требования:

1. Должен быть установлен драйвер привода CD-ROM для Windows. Драйвера для MS DOS недостаточно.

2. Должен быть установлен ASPI интерфейс. Возможно Вы должны скопировать файл wnaspi32.dll вручную в Ваш каталог Windows\System. Файл можно найти на инсталляционном диске с Вашей Windows. Программа WinZip (доступна на http://www.winzip.com) рекомендуется для извлечения файлов из CAB архивов.

3. Ваш привод CD-ROM должен поддерживать тот способ, которым WinHex пытается читать сектора. Большинство современных ATAPI и SCSI приводов вполне подходят.

Как мне заставить WinHex обнаружить установленный PC Card ATA Flash /PCMCIA диск как физический диск под Windows 9x?

Панель управления -> Система -> Устройства -> Выделите Ваш PCMCIA привод -> Кликните "Свойства" и поищите опцию с именем подобным "Использует прерывание 13h". Фактический путь, как можно найти этот переключатель, может различаться на различных версиях Windows. Если будет возможно, включите эту опцию и перезагрузите Ваш компьютер.


Правка с шаблоном

Шаблон – это диалоговое окно, которое обеспечивает средства для редактирования пользовательских структур данных более удобным и исключающим ошибки способом, чем простое шестнадцатеричное редактирование. Правка производится в отдельных текстовых полях. Изменения вступают в силу при нажатии на клавишу ENTER или при выходе из шаблона после запроса. Данные могут поступать из файла, от дисковых секторов или от виртуальной памяти. Особенно при редактировании баз данных, Вы можете определить специальный шаблон для простоты доступа к записям. Команду печати шаблона Вы найдете в системном меню.

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

* Одна и та же переменная может интерпретироваться и управляться несколькими способами.

* Не относящиеся к делу разделы данных могут быть пропущены.

Менеджер шаблонов перечисляет все текстовые файлы в каталоге WinHex, которые содержат определения шаблонов. Наряду с описанием, именем файла, датой и временем последней модификации показывается заголовок шаблона. Нажмите кнопку “Применить”, чтобы показать шаблон для данных в текущей позиции текущего окна редактора, используя выбранное определение шаблона. Вы можете также создавать новые определения шаблонов, удалять или редактировать существующие.

WinHex поставляется с несколькими демонстрационными шаблонами.


Определение шаблона

Определение шаблона состоит из заголовка и тела.

Синтаксис заголовка

Объявление переменных в теле шаблона

Расширенные команды тела шаблона


Заголовок определения шаблона

Заголовок определения шаблона использует следующий формат:

template "title"

[description "description"]

[applies_to (file/disk/RAM)]

[fixed_start offset]

[sector-aligned]

[requires offset "hex values"]

[big-endian]

[hexadecimal/octal]

[read-only]

[multiple [fixed overall size]]

// Put any general comments to the template here.

begin

variable declarations

end

Tags in brackets are optional. The order of the tags is irrelevant. Expressions need only be enclosed in inverted commas if they contain space characters. Comments may appear anywhere in a template definition. Characters following a double slash are ignored by the parser.

The keyword "applies_to" must be followed by one and only one of the words file, disk, or RAM. WinHex issues a warning if you are going to use a template on data from a different source.

While by default templates start interpreting the data at the current cursor position when applied, an optional fixed_start statement ensures interpretation always starts at the specified absolute offset within the file or disk.

If the template applies to a disk, the keyword "sector-aligned" ensures the template interpretation starts at the beginning of the current sector, regardless of the exact cursor position.

Similar to the "applies_to" statement, the "requires" statement enables WinHex to prevent an erroneous application of a template definition to data that does not match. Specify an offset and a hex-value chain of an arbitrary length that identifies the data for which the template definition was intended. For example, a valid master boot record can be recognized by the hex values 55 AA at offset 0x1FE, an executable file by the hex values 4D 5A ("MZ") at offset 0x0. There may be multiple "appliesto" statements in a template definition header, which are all considered.

The keyword "big-endian" causes all multi-byte integer and boolean variables in the template definition to be read and written in big-endian order (high-order byte first).

The keyword "hexadecimal" causes all integer variables in the template definition to be displayed in hexadecimal notation.

The keyword "read-only" ensures that the template can only be used to examine, but not to manipulate data structures. The edit controls within the template will be grayed out.

If the keyword "multiple" is specified in the header, WinHex allows browsing to neighboring data records while displaying the template. This requires that WinHex has knowledge of the record's size. If it is not specified as a parameter to the "multiple" statement, WinHex assumes the overall size of a template structure (=record) to be the current position at the end of the template interpretation less the base editing position. If this is a variable size, i.e. array sizes or move parameters are determined dynamically by the value of variables, WinHex cannot browse to precedent data records.


Объявление переменных

Тело определения шаблона в основном состоит из объявлений переменных, аналогично как это сделано в языках программирования. Объявление имеет следующую основную форму:

type "title"

where type can be one of the following:

• int8, uint8 = byte, int16, uint16, int32, uint32, int64,

• uint_flex

• binary,

• float = single, real, double, longdouble = extended,

• char, char16, string, string16,

• boole8 = boolean, boole16, boole32

• hex,

• DOSDateTime, FileTime, OLEDateTime, SQLDateTime, UNIXDateTime = time_t, JavaDateTime

"title" must only be enclosed in inverted commas if it contains space characters. "title" must not consist only of digits. WinHex does not distinguish between upper and lower case characters in titles. 41 characters are used to identify a variable at most.

type can be preceded by at most one member of each of the following modifier groups:

big-endian	little-endian	(see Endian-ness)

hexadecimal	decimal	octal

read-only	read-write

These modifiers only affect the immediately following variable. They are redundant if they appear in the header already.

The number at the end of a type name denotes the size of each variable (strings: of each character) in bits. With char16 and string16, WinHex supports Unicode characters and strings. However, Unicode characters other than the first 256 ANSI-equivalent characters are not supported. The maximum string size that can be edited using a template is 8192 bytes.

The types string, string16, and hex require an additional parameter that specifies the number of elements. This parameter may be a constant or a previously declared variable or a mathematical expression (see below). If it is a constant, it may be specified in hexadecimal format, which is recognized if the number is preceded by 0x.

You may declare arrays of variables by placing the array size in square brackets next to the type or the title. The following two lines declare a dynamically sized ASCII string, whose length depends on the preceding variable:

uint8	"len"

char[len]	"A string"

The same could be achieved by the following two declarations:

byte	"len"

string len	"A string"

The character "~" can be used as a placeholder for later replacement with the actual array element number (see Advanced Commands). This does not apply to arrays of char variables, since they are automatically translated into a string.

Numerical parameters of string, string16, and hex variables as well as array size expressions may be specified in mathematical notation. They will be processed by the integrated formula parser. Such expressions need to be enclosed in brackets. They must not contain space characters. They may make use of previously declared integer variables whose names do not contain space characters either. Supported operations are addition (+), subtraction (-), multiplication (*), integer division (/), modular division (%), bitwise AND (&), bitwise OR (|), and bitwise XOR (^). Valid mathematical expressions are for example (5*2+1) or (len1/(len2+4)). The result is always an integer and must be a positive number.


Расширенные команды

Если несколько объявлений переменных заключены в фигурные скобки, то они включаются в блок, который может использоваться неоднократно как нечто целое. Note, however, that blocks must not be nested in the current implementation. The "~" character can be used in a variable's name as a placeholder for later replacement with the actual repetition count. The optional "numbering" statement defines where to begin counting (0 by default).

numbering  1

{

byte	"len"

string len	"String No. ~"

} [10]

In this example the actual variable names in the template will be "String No. 1", "String No. 2", ..., "String No. 10". Instead of a constant number of repetitions (10 in this example), you may also specify "unlimited". In that case WinHex will repeat the block until the end of file is encountered.

In order to facilitate reading and navigating the template, you may define groups of variables that are separated by empty space in the dialog box:

section	"...Section Title..."

...variable declaractions...

endsection

The "section", "endsection", and "numbering" statements do not advance the current position in the data to be interpreted.

There are two commands that do not declare variables either, but are explicitly used to change the current position. This can be done to skip irrelevant data (forward movement) or to be able access certain variables more than once as different types (backward movement). Use the "move n" statement to skip n bytes from the current position, where n may be negative. "goto n" browses to the specified absolute position from the beginning of the template interpretation (must be positive).

The following example demonstrates how to access a variable both as a 32-bit integer and as a four-part chain of hex values:

int32	"Disk serial number (decimal)"

move -4

hex 4	"Disk serial number (hex)"


Клонирование дисков

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

При операции клонирования возможны следующие варианты поведения программы при столкновении с поврежденными секторами:

• По умолчанию Вы уведомляетесь относительно ошибки и получаете запрос на продолжение или прерывание выполнения операции. "Вести протокол тихо" означает, что будет создаваться файл с полным отчетом в папке для временных файлов (имя файла - "Cloning Log.txt") по всей операции клонирования , включая отчет о нечитаемых секторах (которые не могут быть скопированы), тем самым устраняется необходимость выдавать сообщения для каждого нечитаемого сектора в отдельности. Это полезно, например, при сборе компьютерных вещественных доказательств.

• WinHex может также оставлять сектора назначения без изменений, если они соответствуют поврежденным секторам исходного диска, или может заполнить их ASCII шаблоном, указанным Вами (например, Вашими инициалами, или чем-нибудь вроде "ФСБ"). Оставьте поле для ввода шаблона пустым для заполнения этих секторов нулевыми байтами. Между прочим, этот шаблон также будет использоваться для отображения содержимого плохих секторов в дисковом редакторе.

• Поврежденные сектора часто образуют последовательные группы, и каждая попытка чтения плохого сектора обычно занимает значительное время. Вы можете указать WinHex, чтобы он избегал таких поврежденных дисковых областей. Когда попадается плохой сектор, WinHex может сделать попытку пропустить указанное Вами число последовательных секторов (по умолчанию - 25). Это полезно, если Вы желаете ускорить процесс клонирования, и если Вас не волнует пропуск некоторых фактически читаемых секторов, которые не попадут внутрь клона.

Обычное клонирование невозможно, если Вы хотите сделать дубликат для сменного диска (например, флоппи диска) при наличии у Вас только одного привода такого типа. Верный путь к решению такой задачи – использование образа диска (можно назвать это “отсроченным клонированием”), когда данные сначала сохраняются в файл-образ. После этот образ может быть восстановлен на другой диск. Результат этого действия будет такой же, как и клонирование диска.

Создать образ диска можно двумя способами:

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

• Диалог клонирования диска позволяет произвести копирование секторов в “сырой” файл-образ, (не имеющий оглавления), и, в последующем, обратно. В сочетании с режимом "Вести протокол тихо" это будет предпочтительным выбором при резервировании дисков, имеющих поврежденные сектора.

Замечание по поводу клонирования дисков и использования образов дисков


Клонирование диска и образ диска (Советы)
Клонирование или создание образа диска, который содержит активную инсталляцию Windows может привести к копированию с ошибками. Во всяком случае, пожалуйста, убедитесь, что на исходный диск не производится запись во время клонирования/создания образа/резервирования/восстановления какой-либо иной программой или самой Windows. Рекомендуется перемещение папки TEMP на другой диск. Также следует создать файл подкачки на другом диске. Как вариант может помочь полное отключение использования файла подкачки в Панели Управления.

Убедитесь, что никакая другая программа или сервис не могут произвести запись в раздел, который Вы собираетесь клонировать. Проверьте, нет ли работающих в фоновом режиме утилит дефрагментации и отключите их на период клонирования/создания образа/резервирования/восстановления. В Windows NT/2000/XP рекомендуется размонтировать раздел как логический диск/буква диска, или по крайней мере временно сделать логический диск “Только для чтения” (касается только NTFS).

После клонирования NTFS дисков возможно потребуется перезагрузка системы или запуск «сhkdsk /f» на целевом диске для отображения измененного содержимого в Windows (это очистит все внутренние буферы Windows).

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


Восстановление данных

Есть четыре способа восстановления данных при помощи WinHex. Все они подразумевают открытие диска, содержащего восстанавливаемые данные, в Редакторе диска.

1) Автоматическое восстановление файлов по имени (самый простой способ)

2) Автоматическое восстановление файлов по типу (не требует функционирующей файловой системы)

3) Восстановление файлов через кнопку Доступ или с помощью Браузера директорий (расширенный доступ к механизму #1)

4) Ручное восстановление данных

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


Извините
Извините, но Ваш лицензионный код соответствует более старой версии WinHex.  Вы не сможете использовать эту версию в качестве полной с этим кодом. Загляните на http://www.winhex.com/winhex/upgrade.html за информацией об обновлениях.


Стартовый центр

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

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

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

И, наконец, Стартовый центр – это место для управления скриптами. Вы можете проверять, править, создавать, переименовывать и удалять скрипты, используя контекстное меню. Для запуска скрипта сделайте на нем двойной щелчок, или сделайте одинарный, а потом нажмите на кнопку OK.


Меню Вид

Только текст: Прячет отображение шестнадцатеричных значений и использует полную ширину окна редактирования для отображения ASCII текста.

Только Hex: Прячет отображение ASCII текста и использует полную ширину окна редактирования для отображения Hex-значений.

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

Если любая из этих двух опций разрешена, команда Перейти к смещению будет допускать перемещение текущей позиции на величину, указанную в единицах Records, равных размеру текущей записи.

Показывать:

Окно Данные Дела является частью Судебного интерфейса WinHex (X-Ways Forensics).

Браузер директорий доступен для логических дисков/разделов открытых в Дисковом редакторе.

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

Интерпретатор данных — это небольшое окошко, предоставляющее "услуги перевода" для данных в текущей позиции курсора.

Панель инструментов тоже можно показывать/скрывать.

Вкладки документов делают каждое окно доступным всего одним кликом мышки.

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

Менеджер шаблонов

Таблицы: Предлагает четыре таблицы преобразований (см. ANSI ASCII/IBM ASCII).

Строки и колонки

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

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

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


Скрипты

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

Сценарии WinHex - текстовые файлы с расширением ".whs". Они могут быть отредактированы любым текстовым редактором и просто состоят из последовательности команд. Рекомендуется вводить только по одной команде на строку для наглядности. В зависимости от команды, Вы возможно будете должны указать параметры следом за командой. Большинство команд применяются к файлу или диску, в настоящее время представленному в активном окне.

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

Там где ожидаются числовые параметры (целые числа), встроенный синтаксический анализатор формулы позволяет Вам использовать математические выражения. Такие выражения должны быть заключены в скобки. Они не должны содержать пробелы. Они могут использовать переменные, которые могут интерпретироваться как целые числа. Поддерживаемые операции: сложение (+), вычитание (-), умножение (*), целочисленное деление (/), деление по модулю (%), поразрядное И (&), поразрядное ИЛИ (|), и поразрядное исключающее ИЛИ (^). Допустимые математические выражения к примеру: (5*2+1), (MyVar1 / (MyVar2+4)), или (-MyVar).

Смотрите также: WinHex API

Далее приведены описания поддерживаемых на данный момент команд, включающие и их варианты параметров.

Create "D:\My File.txt" 1000

Creates the specified file with an initial file size of 1000 bytes. If the file already exists, it is overwritten.

Open "D:\My File.txt"

Open "D:\*.txt"

Opens the specified file(s). Specify "?" as the parameter to let the user select the file to open.

Open C:

Open D:

Opens the specified logical drive.

Open 80h

Open 81h

Open 9Eh

Opens the specified physical media. Floppy disk numbering starts with 00h, fixed and removable drive numbering with 80h, optical media numbering with 9Eh.

Optionally, you may pass a second parameter with the Open command that defines the edit mode in which to open the file or media ("in-place" or "read-only").

CreateBackup

Creates a backup of the active file in its current state.

CreateBackupEx 0 100000 650 true "F:\My backup.whx"

Creates a backup of the active disk, from sector 0 through sector 1,000,000. The backup file will be split automatically at a size of 650 MB. Compression is enabled ("true"). The output file is specified as the last parameter.

If the backup file should not be split, specify 0 as the third parameter. To disable compression, specify "false". To have the Backup Manager automatically assign a filename and place the file in the folder for backup files, specify "" as the last parameter.

Goto 0x128

Goto MyVariable

Moves the current cursor position to the hexadecimal offset 0x128. Alternatively, an existing variable (up to 8 bytes large) can be interpreted as a numeric value, too.

Move -100

Moves the current cursor position 100 bytes back (decimal).

Write "Test"

Write 0x0D0A

Write MyVariable

Writes the four ASCII characters "Test" or the two hexadecimal values "0D0A" at the current position (in overwrite mode) and moves the current position forward accordingly (i.e. by 4 bytes). Can also write the contents of a variable specified as the parameter.

Insert "Test"

Functions just as the "Write" command, but in insert mode. Must only be used with files.

Read MyVariable 10

Reads the 10 bytes from the current position into a variable named "MyVariable". If this variable does not yet exist, it will be created. Up to 16 different variables allowed. Another way to create a variable is the Assign command.

ReadLn MyVariable

Reads from the current position into a variable named "MyVariable" until the next line break is encountered. If the variable already exists, its size will be adjusted accordingly.

Close

Closes the active window without saving.

CloseAll

Closes all windows without saving.

Save

Saves changes to the file or disk in the active window.

SaveAs "C:\New Name.txt"

Saves the file in the active window under the specified path and filename. Specify "?" as the parameter to let the user select the destination.

SaveAll

Saves changes in all windows.

Exit

Terminates script execution and ends WinHex.

ExitIfNoFilesOpen

Aborts script execution if no files are already opened in WinHex.

Block 100 200

Block "My Variable 1" "My Variable 2"

Defines the block in the active window to run from offset 100 to offset 200 (decimal). Alternatively, existing variables (each up to 8 bytes large) can be interpreted as numeric values.

Block1 0x100

Defines the block beginning to be at the hexadecimal offset 0x100. A variable is allowed as the parameter as well.

Block2 0x200

Defines the block end to be at the hexadecimal offset 0x200. A variable is allowed as the parameter as well.

Copy

Copies the currently defined block into the clipboard. If no block is defined, it works as known from the Copy command in the Edit menu.

Cut

Cuts the currently defined block from the file and puts it into the clipboard.

Remove

Removes the currently defined block from the file.

CopyIntoNewFile "D:\New File.dat"

CopyIntoNewFile "D:\File +MyVariable+.dat"

Copies the currently defined block into the specified new file, without using the clipboard. If no block is defined, it works as known from the Copy command in the Edit menu. Can copy disk sectors as well as files. The new file will not be automatically opened in another edit window. Allows an unlimited number of "+" concatenations in the parameter. A variable name will be interpreted as an integer if not be larger than 2^24 (~16 Mio.). Useful for loops and file recovery.

Paste

Pastes the current clipboard contents at the current position in a file, without changing the current position.

WriteClipboard

Writes the current clipboard contents at the current position in a file or within disk sectors, without changing the current position, by overwriting the data at the current position.

Convert Param1 Param2

Converts the data in the active file from one format into another one. Valid parameters are ANSI, IBM, EBCDIC, Binary, HexASCII, IntelHex, and MotorolaS, in combinations as known from the conventional Convert menu command.

Encrypt "My Password"

Encrypts the active file or disk, or selected block thereof, with the specified key (up to 16 characters long) using the PC1 algorithm (128 bit).

Decrypt "My Password"

Decrypts the active file or disk.

Find "John" [MatchCase MatchWord Down Up BlockOnly SaveAllPos Unicode Wildcards]

Find 0x0D0A [Down Up BlockOnly SaveAllPos Wildcards]

Searches in the active window for the name John or the hexadecimal values 0x0D0A, respectively, and stops at the first occurrence. Other parameters are opional. By default, WinHex searches the entire file/disk. The optional parameters work as known from usual WinHex search options.

ReplaceAll "John" "Joan" [MatchCase MatchWord Down Up BlockOnly Unicode Wildcards]

ReplaceAll 0x0A 0x0D0A [Down Up BlockOnly Wildcards]

Replaces all occurrences of either a string or hexadecimal values in the active file with something else. Can only be applied to a disk if in in-place mode.

IfFound

A boolean value that depends on whether or not the last Find or ReplaceAll command was successful. Place commands that shall be executed if something was found after the IfFound command.

IfEqual MyVariable "constant string"

IfEqual 0x12345678 MyVariable

IfEqual MyVariable MyOtherVariable

Compares two variables, ASCII strings, or hexadecimal values at the binary level. Comparing two objects with a different length always returns False as the result. If equal, the following commands will be executed.

IfGreater 0x12345678 MyVariable

IfGreater MyVariable MyOtherVariable

Compares two variables and interprets them as integer values (64-bit signed). Such an integer comparison is not appropriate for comparing strings of different lengths alphabetically. If the first one is greater than the second one, the following commands will be executed.

Else

May occur after IfFound or IfEqual. Place commands that shall be executed if nothing was found or if the compared objects are not equal after the Else command.

EndIf

Ends conditional command execution (after IfFound or IfEqual).

{...

ExitLoop

...}

Exits a loop. A loop is defined by braces. Closing braces may be followed by an integer number in square brackets, which determines the number of loops to execute. This is may also be a variable or the keyword "unlimited" (so the loop can only be terminated with an ExitLoop command). Loops must not be nested.

Example of a loop:

{ "Loop" }[10] will write the word "Loop" ten times.

Label ContinueHere

Creates a label named "ContinueHere"

JumpTo ContinueHere

Continues script execution with the command following that label.

NextObj

Switches cyclically to the next open window and makes it the "active" window. E.g. if 3 windows are open, and window #3 is active, NextObj will make #1 the active window.

ForAllObjDo

The following block of script commands (until EndDo occurs) will be applied to all open files and disks.

CopyFile C:\A.dat D:\B.dat

Copies the contents of C:\A.dat into the file D:\B.dat.

MoveFile C:\A.dat D:\B.dat

Moves the file C:\A.dat to D:\B.dat.

DeleteFile C:\A.dat

Surprisingly, deletes C:\A.dat.

InitFreeSpace

InitSlackSpace

Clears free space or slack on the current logical drive, respectively, using the currently set initialization settings. InitSlackSpace switches the drive temporarily to in-place mode, thus saving all pending changes.

InitMFTRecords

Clears unused MFT FILE records on the current logical drive if it is formatted with NTFS, using the currently set initialization settings. Simply does nothing on other file systems. The changes are written immediately to the disk.

Assign MyVariable 12345

Assign MyVariable 0x0D0A

Assign MyVariable "I like WinHex"

Assign MyVariable MyOtherVariable

Stores the specified integer number, binary data, ASCII text, or other variable's contents in a variable named "MyVariable". If this variable does not yet exist, it will be created. Up to 16 different variables allowed. Another way to create a variable is the Read command.

Inc MyVariable

Interprets the variable as an integer (if not larger than 8 bytes) and increments it by one. Useful for loops.

Dec MyVariable

Interprets the variable as an integer (if not larger than 8 bytes) and decrements it by one.

CalcHash HashType MyVariable

Calculates a hash as known from the command in the Tools menu and stores it in the specified variable (which will be created if it does not yet exist). The HashType parameter must be one of the following: CS8, CS16, CS32, CS64, CRC16, CRC32, MD5, SHA-1, SHA-256, PSCHF.

MessageBox "Caution"

Displays a message box with the text "Caution" and offers the user an OK and a Cancel button. Pressing the Cancel button will abort script execution.

ExecuteScript "ScriptName"

Executes another script from within a running script, at the current execution point, e.g. depending on a conditional statement. Calls to other scripts may be nested. When the called script is finished, execution of the original script will be resumed with the next command. This feature can help you structure your scripts more clearly.

Turbo On

Turbo Off

In turbo mode, most screen elements are not updated during script execution and you are not able to abort (e.g. by pressing Esc) or pause. This accelerates the script by up to 75% if a lot of simple commands such as Move and NextObj are executed in a loop.

Debug

All the following commands must be confirmed individually by the user.

UseLogFile

Error messages are written into the log file "Scripting.log" in the folder for temporary files. These messages are not shown in a message box that requires user interaction. Useful especially when running scripts on unattended remote computers.

CurrentPos

GetSize

unlimited

are keywords that act as placeholders and may be used where numeric parameters are required. On script execution, CurrentPos stands for the current offset in the active file or disk window and GetSize for its size in bytes. unlimited actually stands for the number 2,147,483,647.


WinHex API

Назначение

WinHex API (прикладной программный интерфейс) позволяет использовать расширенные возможности шестнадцатеричного и дискового редакторов WinHex программно из Ваших собственных программ на C++, Delphi, Visual Basic и т.д. В частности это обеспечивает удобный и простой интерфейс для произвольного доступа к файлам и дискам.

Требования

Разработка программного обеспечения с использованием WinHex API требует наличия у Вас соответствующей профессиональной или уровня Специалист WinHex лицензии. Дополнительно вам нужно импортировать декларации для выбраного Вами языка программирвания, и динамическая библиотека "whxapi.dll", и, конечно, документация по API. Все эти файлы и документацию Вы можете получить по адресу http://www.winhex.com/winhex/api/.

Начиная с версии WinHex 10.8 SR1 Вы также можете воспользоваться WinHex API, имея в своем распоряжении только ознакомительную версию программы или персональную лицензию на WinHex. При этом будут отключены только несколько функций. Подробности Вы можете прочесть по адресу http://www.winhex.com/winhex/api/.

You may also distribute both any software that makes use of the WinHex API and WinHex itself. There are two ways how to distribute WinHex:

1. Distribute the unlicensed WinHex version. For the API to work, your customer has to purchase professional, specialist or API licenses according to the number of WinHex installations needed.

-or-

2. Рекомендуется: заказать и распространять вместе со своим продуктом специальную API версию WinHex, сконфигурированную для работы только с API, и которая не может быть запущена с обычным пользовательским интерфейсом и доступную по более низкой цене. You may place your order online at http://www.winhex.com/winhex/api/. Volume discount available on request (please specify the number of licenses you are interested in). One WinHex API license needed per end user computer. The product will be licensed to you, you will be the actual owner of the licenses, but any of your customers may use them. The end user does not have to take care of anything related to WinHex.

Смотрите также: Скрипты


Восстановление через кнопку Доступ
Восстановление файлов через кнопку Доступ

WinHex предлагает расширенный способ автоматического восстановления файлов по имени, позволяя восстанавливать файлы любого типа.

Если на логическом диске с файловой системой NTFS Вы переместились к файловой записи (начинающейся с сигнатуры "FILE"), Вы можете использовать команду Восстановить в меню кнопки Доступ, для восстановления файла или папки, описанных в этой файловой записи. Чтобы найти специфическую файловую запись, используйте поискID_jbg6lj на диске с NTFS имени файла с включенной опцией Unicode или используйте для этого браузер директорий.

Всякий раз, когда открыт логический FAT-диск и виден кластер, который распределен каталогу (и таким образом содержит элементы директории), Вы можете использовать команду "Восстановить текущую директорию" в меню кнопки Доступ чтобы скопировать отображенный каталог со всеми его файлами и, опционально, его подкаталогами, независимо от того, существуют ли они все еще частично или были удалены. WinHex сохранит все это в папке - получателе, которую Вы определите (строго рекомендуем: на другом диске, чтобы избежать записи поверх других удаленных или потерянных файлов). WinHex предполагает, что файлы не были перезаписаны и не фрагментированы. Это важно для успешного восстановления. Таблица размещения файлов учитывается только частично, так как при удалении файлов она в определенных местах инициализируется операционной системой. Вы должны тщательно проверять конечные файлы на содержимое. К сожалению Windows 2000 и XP стирают верхние 16 бит номера начального кластера при удалении напрямую (минуя Корзину Windows) файлов и каталогов.

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

Помните, чтобы найти верный кластер с элементами директорий в начале, Вы можете просто начать с корневого каталога, используя Инструменты | Дисковые утилиты | Список кластеров папки для определенного существующего каталога, или найти короткое имя файла или каталога, который Вы потеряли, используя поиск текста.

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


Восстановление файлов по типу

Функция восстановления данных может быть вызвана из меню Дисковые утилиты.

Этот метод восстановления также иногда называют "вырезанием файла". Функция ищет файлы, которые могут быть распознаны по определенной сигнатуре в заголовке файла (по некоторой определенной последовательности байтов). Из-за этого подхода восстановление файлов по типу не зависит от существования функционирующей структуры файловой системы. Когда обнаруживаются файлы на основании их сигнатуры, они сохраняются в конечной папке, определенной пользователем. Дополнительно, восстановленные файлы каждого типа могут быть помещены в отдельный подкаталог (...\JPEG, ...\HTML, и т.д.). Обратите внимание, что функция восстановления файлов по типу исходит из предположения о непрерывности кластеров файла, поэтому производит дефектные файлы в том случае, когда изначально файлы были сохранены фрагментировано. Файл журнала "File Recovery by Type.log " с информацией о выбранных параметрах и результатах восстановления записывается в конечной папке в целях проверки.

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

Алгоритм пытается определить оригинальный размер файлов типов JPEG, GIF, PNG, BMP, TIFF, AVI, WAV, ZIP и RTF путем исследования структуры их данных, приближенно ограничиваясь указанным пользователем максимальным размером файлов. Для всех остальных типов файлы восстанавливаются именно с тем размером, который указан пользователем в качестве максимального. Будьте «щедры» при определении этого размера, потому что "слишком большие" восстановленные файлы все еще могут быть открыты связанным с этим типом приложением, тогда как обрезанные файлы часто не могут, и они, очевидно, неполноценны. Хотя технически Вы и можете выбирать сколько угодно типов файлов для одновременного восстановления, не имеет смысла восстанавливать, например, одновременно файлы MS Office и AVI, если Вы ожидаете что файлы MS Office будут иметь размеры в пределах нескольких КБ, а файлы AVI при этом в пределах нескольких ГБ, из-за того что указываемый максимальный размер файла применяется глобально.

По умолчанию поиск заголовков происходит у кластерных границ, потому как начало кластера это то единственное место в основанной на кластерах файловой системе, где может находиться начало файла. Однако, Вы можете также выбрать поиск заголовков файлов, выровненных по секторам. Это полезно при поиске файлов, оставшихся от ранее существовавшего раздела с другим размещением кластеров. Если поиск выполняется на физическом носителе или в «сыром» файле без определенного кластерного размещения, WinHex так или иначе ищет в границах сектора, даже если в настройках выбраны кластерные границы. Имеется и другая возможность - тщательный поиск на уровне байта. Это необходимо при восстановлении файлов из резервных копий на магнитных лентах, или JPEG файлов внутри документов MS Word, где они не выровнены в границах сектора или кластера. За такую возможность приходиться платить возможным увеличением числа фальшивых срабатываний, идентифицирующихся как файловые сигнатуры, беспорядочно встречающиеся на носителях, но не указывающие на начало файла.

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

WinHex поставляется с набором различных предустановленных файловых сигнатур. Вы можете полностью настраивать файл определения типа и добавлять в него Ваши собственные определения. Нажмите кнопку Настроить, чтобы отредактировать файл "File Type Signatures.txt". По умолчанию, WinHex открывает этот файл в MS Excel. Это удобно, потому что файл состоит из столбцов, отделенных позициями табуляции. Если Вы редактируете файл в текстовом редактором, убедитесь, что Вы сохранили эти позиции табуляции, поскольку WinHex полагается на их присутствие, чтобы должным образом интерпретировать файл определения типа. MS Excel сохраняет их автоматически. Сигнатуры могут быть указаны или в ASCII или в hex (0x ...). Чтобы выяснить характерные сигнатуры заголовка файла, откройте несколько существующих файлов определенного типа в WinHex, и ищите общие байтовые значения вблизи начала файла в одинаковом смещении. После редактирования файла определения типа, Вы должны выйти из окна диалога и вызывать команду меню «Восстановление файла по Типу» снова, чтобы увидеть изменения в списке типа файлов. Технические ограничения: WinHex игнорирует всё за 16-м байтом в заголовке или сигнатуре конца файла, после 19-ого символа в описании типа файла, и после 45-ого символа в поле расширения файла. Максимальное число поддерживаемых типов файлов – 256.

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

WinHex может обнаруживать повреждения (например из-за фрагментации файла) в восстановленном JPEG, GIF и некоторых других файлах и отмечать эти файлы как поврежденные в файле журнала, добавляя "c" перед именем конечного файла. Если указанный пользователем предел размера файла будет определен как слишком маленький для некоторых файлов, это также будет отмечено в файле журнала.

Если Вы включите опцию "Не восстанавливать, а только создавать список найденного", фактически никакие файлы не сохраняются и никакой журнал не записывается. Файлы только перечисляются в браузере директорий, например для исследования их с помощью Галереи просмотра и для выборочного восстановления из браузера директорий.


Меню Специалист

Только для лицензии уровня Специалист.

Собрать свободное пространство: Просматривает текущий открытый логический диск и собирает все неиспользуемые кластеры в файл, указанный Вами. Будет полезно для изучения фрагментов данных из прежде существовавших файлов, которые не были надежно удалены. Не производит никаких изменений на исходном диске. Файл назначения должен быть расположен на другом диске.

Собрать остатки кластеров: Собирает слэк (неиспользованные байты в последних кластерах всех кластерных цепочек, расположенные за фактическим концом файла) в один конечный файл. Каждый фрагмент слэка предваряется разрывом строки и номером кластера (в виде ASCII текста), в котором слэк был найден. В остальном похоже на предыдущую команду. Работает на дисках с FAT12, FAT16, FAT32 и NTFS. WinHex не может добраться до остатков кластеров тех файлов, что были сжаты или зашифрованы на системном уровне.

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

Собрать текст: Распознает текст в соответствии с указанными Вами параметрами в файле, на диске, в блоке памяти и помещает все его вхождения в указанный файл. Этот тип фильтра может значительно уменьшить объем данных, с которыми нужно оперировать, например, компьютерному судебному специалисту при поиске инструкций в виде текста произвольной формы, как например, в сообщениях электронной почты, документах, и т.п. Конечный файл может быть легко разбит на части нужного размера. Эта функция также применена к файлам с собранным слэком или с неиспользуемым пространством, а также к поврежденным файлам определенных форматов, если они уже не могут быть открыты своими “родными” приложениями, такими как MS Word, чтобы восстановить хотя бы неформатированный текст.

Одновременный поиск: Средство параллельного поиска, позволяющее Вам указывать фактически неограниченный список условий поиска, один на строку. Условиями поиска могут являться как текстовые фрагменты, так и шестнадцатеричные значения (указываются с помощью префикса 0x). Поиск по указанным условиям производится одновременно, а найденные вхождения могут быть сохранены или в Менеджере позиций, или в разделенном табуляторами текстовом файле, аналогично каталогу диска. Такой текст в дальнейшем может обрабатываться в MS Excel или любой базе данных. WinHex сохранит смещение для каждого вхождения, условие поиска, имя файла или диска, в котором производился поиск, а для логического диска еще и кластерное распределение! (то есть имя и путь файла, который хранится в этом конкретном смещении, если, конечно, такой файл имеется).

Это означает, например, что судебный эксперт теперь может систематически за один проход производить поиск на нескольких жестких дисках и образах дисков на наличие слов, подобных

- наркота

- кокаин

- (уличный синоним #1 для кокаина)

- (уличный синоним #2 для кокаина)

- (уличный синоним #3 для кокаина)

- (уличный синоним #4 для кокаина, альтернативный сленг)

- (имя наркодилера #1)

- (имя наркодилера #2)

- (имя наркодилера #3)

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

Создание таблицы содержимого диска

Создание таблицы содержимого директории: Работает также как и Создание таблицы содержимого диска, но только для выбранной пользователем директории и её поддиректорий. При работе с разделами, не отображенными в Windows как буква диска, Вы найдете эту команду только в контекстном меню Браузера директорий, если щелкните правой кнопкой мышки по директории.

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

Только для Судебной лицензии: WinHex может обнаруживать скрытые защищенные области (HPA или ATA-защищенные области) на жестких дисках под Windows 2000 и XP. В том случае, если HPA найдена, будет показано сообщение с предупреждением. В любом случае реальное общее число секторов применительно к ATA, если оно может быть определено, будет отображено в детальном отчете.

Интерпретировать файл как диск:  Рассматривает в настоящее время открытый и активный файл-образ диска как логический или физический диск. Это полезно, если Вы пожелаете детально исследовать содержание образа диска без необходимости копировать образ обратно на диск, а также для извлечения файлов из образа. При интерпретации файла как физического диска, WinHex может получать доступ и открывать индивидуальные разделы, содержащиеся в файле-образе, как это можно проделывать и с "реальными" физическими жесткими дисками.

WinHex даже способен интерпретировать дисковые образы, поделенные на некоторое количество томов любого размера. Для того, чтобы WinHex обнаружил сегментированный файл-образ, первый сегмент может иметь произвольное имя и нечисловое расширение или расширение ".000". Второй сегмент должен иметь то же самое основное имя, но расширение ".001", третий сегмент " .002", и так далее. DOS инструмент клонирования X-Ways Replica способен создавать образы дисков и при этом производить такие файловые сегменты. Это полезно, потому что максимальный размер файла образа, поддерживаемый в FAT16 и FAT32 - 2 ГБ и 4 ГБ, соответственно.

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

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

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

Подсветка свободного пространства/кластерных остатков: Отображает смещения и сами данные более бледными цветами (светло-голубой и серый соответственно). Помогает легко идентифицировать эти специфические области дискового пространства. Подсветка работает на логических дисках с FAT и NTFS, а также на разделах FAT-дисков.


Ручное восстановление данных

Помимо того, что он WinHex предлагает различные механизмы автоматического восстановления данных данных, он является еще и мощным инструментом для их ручного восстановления. Есть возможность восстановить потерянные или удаленные файлы (в общем случае: данные) которые не были физически стерты (или записаны поверху), а просто были отмечены файловой системой как удаленные (логическое удаление).

Откройте Редактором Диска логический диск, на котором находился удаленный файл. Главным образом Вы можете воссоздать такой файл, выделив дисковые сектора, которые были распределены файлу, как текущий блок, и сохранив их, используя команду меню Правка | Копировать блок | В новый файл. Но может оказаться трудным найти сектора, где все еще хранится файл. Имеется преимущественно два способа сделать это:

1.	В случае, если Вы знаете отрывок из разыскиваемого файла (например, характерную сигнатуру в заголовке файла JPEG или слова " Дарагой Вован Сидорович " в документе MS Word), ищите их на диске, используя обычные команды поиска ("Поиск текста" или "Поиск Hex-значений"). Это очень простой и безопасный путь, и его можно порекомендовать любому.

2.	В случае, если Вы знаете только имя файла, Вам понадобится некоторое знание файловой системы на диске (FAT16, FAT32, NTFS, ...), чтобы найти следы прежних файловых элементов директории и таким образом определить номер первого кластера, который был распределен файлу. Информация относительно файловых систем доступна в Базе знаний на сайте WinHex. Написанное далее применимо ко всем вариантам FAT:

Если каталог, который содержал файл (давайте назовем его каталог "D") все еще существует, Вы можете найти D на диске, используя Инструменты | Дисковые утилиты | Список кластеров папки. Шаблон для элементов каталога FAT, который идет с WinHex, будет полезен для выяснения номера первого кластера, который был распределен удаленному файлу в этом каталоге. Если же D был удален тоже, Вы должны найти содержание D (используя шаблон элементов директории) начиная с каталога, который содержал D (возможно корневого каталога).

Удаленные файлы и каталоги помечены символом "е” (Hex: E5), используемым, как первый символ имени. (От переводчика: не следует путать этот символ с символом с Hex: A5, который в Русском Windows в кодировке IBM ASCII тоже выглядит как символ "е”).

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


Восстановление файлов по имени

Эта функция восстановления данных в WinHex, расположенная в меню Дисковые утилиты. Требует открытия логического диска или раздела диска, содержащего восстанавливаемые данные, в Редакторе диска. Работает на дисках с FAT12, FAT16, FAT32 и NTFS. Вы можете указать одну или более маску имени файла, которые определят все файлы, которые Вам нужно восстановить, например:

Доклад в ЦРУ.doc

Платёжка*.pdf

ж*.xls

Красотка*.gif

*.tif

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

*.*

:$*

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

Опцинально WinHex может восстанавливать/копировать только те файлы, которые на данный момент существуют в файловой системе (с точки зрения пользователя) или рассматриваются как несуществующие (удаленные или потерянные).

Альтернативно к использованию таблицы размещения файлов FAT диска, WinHex может, как вариант, также полагаться на файлы, которые не были фрагментированы, восстанавливая их как непрерывный поток последовательных кластеров.

Отметьте “Перехватить недопустимые имена файлов”, чтобы предотвратить проблемы восстановления из-за наличия имен файлов, содержащих символы, рассматриваемые файловой системой как недопустимые. Это будет полезно, например, если Вы желаете восстановить файлы, которые имели имена файла на языке, использующем не Western кодировку (например, на русском языке) при этом используя версию Windows, поддерживающую только Western кодировку. Эта опция в случае необходимости переименует такой файл, чтобы гарантировать, что он может быть воссоздан.

На дисках с NTFS, если Вам не удается найти файл, может помочь включение "полного/досконального" поиска. По умолчанию он отключен, так как занимает существенно больше времени.

Вы также должны определить папку назначения, в которую следует восстанавливать файл(ы). Важно: удостоверьтесь, что эта папка находится на другом диске. Указание папки на том же диске, где находятся восстанавливаемые файлы, может привести к записи в ту область диска, где все еще находятся удаленные файлы, которые Вы только собираетесь восстанавливать! И тогда они будут потеряны навсегда! Также это может привести и к зацикливанию, когда WinHex неоднократно будет "восстанавливать" файлы, которые только что уже им были воссозданы.


Избыточные сектора

Этот термин используется в WinHex следующим образом:

Избыточные сектора на логических дисках -- это несколько

расположенных в конце этого диска секторов, которые не могут

образовать полный кластер и поэтому не могут быть использованы

операционной системой (и, как следствие, также и обычными

программами).

Избыточные сектора на физических дисках -- это несколько

последних секторов на диске, которые расположены вне обычной

геометрической дисковой схемы (потому что они не подпадают под

обычное определение цилиндр/головка/трек), что и является

причиной почему они обыкновенно не используются ни одним

разделом операционной системы (или ни одним соответствующим

приложением).

Избыточные сектора не имеют ничего общего с «плохими» или

поврежденными секторами, так же как и с теми секторами, которые

жесткий диск использует для «внутренних целей» в качестве замены

для тех секторов, которые он признал дефектными.


Flexible Integer Variables

A special variable type supported by templates is uint_flex. This type allows to compose an unsigned integer value from various individual bits within a 32-bit (4-byte) range in an arbitrary order and is even more flexible than a so-called bit field in the C programming language.

uint_flex requires an additional parameter string in inverted commas that specifies exactly which bits are used in which order, separated by commas. The bit listed first becomes the most significant bit (high value bit) in the resulting integer, and it is not interpreted as a + or - indicator. The bit listed last becomes the least significant bit in the resulting integer.

The bits are counted starting with 0. Bit 0 is the bit that is the least significant bit of the 1st byte. Bit 31 is the most significant bit of the fourth byte. Thus, the definition is based on little-endian philosophy.

For example,

uint_flex "15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0" "Standard 16-bit integer"

is exactly the same as uint16, the common unsigned 16-bit integer variable.

uint_flex "31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0" "Standard 32-bit integer"

is exactly the same as uint32, the common unsigned 32-bit integer variable.

The benefit of uint_flex, though, is that the number, the position, and the usage order of all bits can be chosen arbitrarily. For example,

uint_flex "7,15,23,31" "An unusual 4-bit integer"

composes a 4-bit integer out of the respective most significant bits of each of the four bytes involved. If these four bytes happen to be F0 A0 0F 0A = 11110000 10100000 00001111 00001010, bit 7 is 1, bit 15 is 1, bit 23 is 0, and bit 31 is 0. So the resulting uint_flex is 1100 = 1*8 + 1*4 + 0*2 + 0*1 = 12.


Directory Browser
Браузер директорий

На логических дисках и разделах, форматированных под FAT12, FAT16, FAT32 или NTFS, WinHex предоставляет Браузер директорий, который напоминает правую панель в Проводнике Windows. Он может быть включен и выключен с помощью галочки, расположенной сразу после кнопки «Доступ». Браузер отображает вначале существующие файлы и папки, а за ними следуют удаленные. Сжатые файлы отображаются синими цветом, шифрованные — зеленым (только для NTFS). Правый щелчок на любом из элементов списка вызывает контекстное меню с командами для открытия файла или папки, просмотра содержимого директории, поиска начала файла или папки на диске, поиска соответствующего элемента директории (для FAT) или файловой записи (для NTFS), отображения списка распределенных кластеров в отдельном окне и для простого восстановления утерянных или существующих файлов или директорий. Во втором случае возможно воссоздание полной структуры каталога. Двойной щелчок на элементе списка выполнит действие по умолчанию (поиск данных, создание списка кластеров или обзор в случае с директорией). Щелчки по элементам списка отдельного окна позволят перемещаться к соответствующим кластерам в Редакторе диска.

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

В контекстном меню Браузера директорий имеется команда "Сортировать по положению записи директорий" (для FAT) или "Сортировать по MFT ID" (для NTFS), соответственно, которые позволяют видеть файлы и папки в том порядке, в котором они физически появились на диске / в MFT.

Браузер директорий также может быть заполнен при использовании команды Создание таблицы содержимого диска.


Case Management

X-Ways Forensics, the integrated computer forensics environment in WinHex, can be used with a forensic license of WinHex only. It offers complete case management, automated log and report file generation, and various additional features such as gallery view, category view, filename/file type mismatch detection, HPA detection, and skin color detection in pictures.

When starting up WinHex for the first time, you are asked whether to run it with the forensic interface. This means the "Case Data" window is displayed, WinHex is run in View mode, and you are asked to make sure the folders for temporary files and for case data are set correctly, in order to prevent WinHex from writing files to the wrong drive.

In order to work with a case, make sure the "Case Data" window is visible on the left of the main window. If not, enable View | Show | Case Data.

From the File menu, you may create a new case (start from scratch), open an existing case, close the active case, save the active case, or automatically generate a case report. A case is stored in a .xfc file (xfc stands for X-Ways Forensics Case) and in a subfolder of the same name, just without the .xfc extension. This subfolders and its child folders are created automatically when the case is created. You may select the base folder for your cases in General Options. It is not necessary to explicitly save a case, unless you need to be sure it is saved at a given time. A case is saved automatically at latest when you close it or exit the program.

In the case properties window, you may name a case according to your own conventions (e.g. title or number). The date and time you create a case is recorded and displayed. The internal case filename is displayed as well. You may enter a description of the case (of arbitrary length) and the examiner's name, the examiner's organization's name and address. You may enable or disable the automated log feature for the whole case.

Evidence Objects

In order to completely delete a case, you need to delete its .xfc file and the corresponding directory with the same name and all its subdirectories.


Log & Report Feature

Available with a forensic license of WinHex only.

Logs

When enabled in the case and the evidence properties window, WinHex obstinately logs all activities performed when the case is open. That allows you to easily track, reproduce, and document the steps you have followed to reach a certain result, for your own information and for the court room.

The following is recorded:

• when you a select a menu item, the command title (or at least an ID), and the name of the active edit window, if not an evidence object, preceded by the keyword "Menu",

• when a message box is displayed, the message text and what button you pressed (OK, Yes, No, or Cancel), preceded by the keyword "MsgBox",

• when a small progress indicator window is displayed, its title (like "Recovering files...") and whether the operation was completed or aborted, preceded by the keyword "Operation",

• a screenshot of each displayed dialog window with all selected options, e.g. for a complex operation that follows, preceded by the window's title,

• original source path of each recovered file,

• destination path of each recovered file when recovered with the directory browser or the Access button menu,

• the extensive log produced by Clone Disk and File Recovery by Type.

All actitivities are logged with their exact date and time, internally in FILETIME format with 100-nanosecond interval precision. Logs are by default associated with the case as a whole. However, logs of activities that apply to a certain evidence object are directly associated with that evidence object. This determines where they appear in a report. Screenshots are saved as .png files in the "log" subfolder of a case folder. They are by default converted to a black & white images, which allows to print them in a cost-effective way along with the report.

Reports

You may create a report from the File menu of the Case Data window. The report is saved as an HTML file and can thus be displayed and opened in a variety of applications. For example, you may view it in your favorite Internet browser and open and further process it in MS Word.

The report starts with the general case title and details, followed by a list of hyperlinks to the individual evidence object sections. For each evidence object, the report specifies its title, details, and description, your comments, your annotations, and the evidence object related log. The report ends with the general log.


Таблица содержимого диска

Требуется Судебная лицензия или лицензия типа «Специалист». Команда Создание таблицы содержимого диска в меню Специалист создает "каталог" существующих и удаленных файлов и папок на логическом диске или на разделе, с изменяемым пользователем набором информации об атрибутах, всех доступных датах и временных метках, размере, распределенных ему кластеров, хэше (контрольной сумме или дайджесте), альтернативных потоках данных (которые содержат скрытые данные, только на NTFS) и т.п. Чрезвычайно полезно для систематического исследования содержимого диска. Позволяет ограничивать поиск файлов некоторым их типом, указанием маски имени файла (например *.jpg; *.gif). Вы можете исключить файлы, использую шаблоны, начинающиеся с двоеточия (:). Например, Вы можете включить все файлы, кроме файлов системы NTFS (которые всегда начинаются с символа доллара), указав следующие шаблоны: : *.*;:$*. В столбце с информацией о кластерном распределении Вы также можете найти одиночный сектор прописанный в таблице MFT (в которой малые файлы хранятся непосредственно). ADS и INDX перечисляются раздельно. {Alternate data streams (ADS) and non-directory index streams (INDX) are listed separately}.

FAT: Опция "Особо тщательный поиск структуры данных файловой системы" ищет «осиротевшие» подкаталоги (те подкаталоги, на которые больше не ссылаются никакие другие каталоги).

NTFS: Опция "Особо тщательный поиск структуры данных файловой системы" ищет файловые записи в секторах, которые не принадлежат текущей MFT. Такие файловые записи могут быть найдены, например, после того, как раздел было пересоздан, переформатирован, перемещен, изменен в размере или подвергнут дефрагментации.

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

Результат может быть выведен в текстовый файл, разделенный символами табуляции, что может быть удобным для импортирования и дальнейшей обработки в базах данных или MS Excel. Если MS Excel не может быть найден на Вашем компьютере или если Вы удерживали нажатой клавишу Shift на Вашей клавиатуре, Вы сможете выбрать другую программу. Сортировка по дате и временным меткам даст хорошее представление о том, чем пользовались на диске в определенный период. Например NTFS атрибут "шифрованный" мог бы быстро показать на те файлы, что могут оказаться наиболее важными в судебном анализе.

Результат может быть также выведен непосредственно в Браузере директорий. Это значит, что Вы получите «обзор всех файлов» логического диска или раздела в WinHex и сможете сортировать по дате, расширению и тд, перемещаться к тем кластерам, где хранится файл, восстанавливать файл, удалять несоответствующие элементы из списка, и т.д. Однако, в то время как браузер директорий предлагает более интерактивный подход, он не показывает значения хеш-функций.

A forensic license allows you to detect filename/file type mismatches. For example, if someone has concealed an incriminating JPEG picture by naming it "invoice.xls" (wrong filename extension), the recognized file type "JPEG!" is stated in the Mismatch column of the output file and the file is listed in the directory browser a second time with the presumed correct extension and in a different color. The file signatures and extensions used for mismatch detection are defined in the accompanying tab-delimited text file "File Type Signatures.txt", which you may fully customize.

A forensic license also allows to display all the files in a "category" view in the directory browser (available only if the active medium is assigned to a case). That means the files will be grouped by file categories such as "documents", "Internet", "images", "multimedia", etc. This is useful for example if you need a list (or gallery view) of all images on a hard disk, disregarding the directory structure. Files are assigned to a category because of their extension. The extension-category relation is defined in the accompanying text file "File Type Signatures.txt", which can be fully customized. All the files that do not belong to any defined category end up in the folder "Miscellaneous".

A forensic license additionally allows to calculate the percentage of skin colors in pictures. This can be done for the same file types also supported by the gallery view, both for output to the directory browser and to a file. For example, if a forensic examiner is looking for traces of child pornography, sorting images by skin color percentage in category view may accelerate your work immensely. Pictures that cannot be correctly scanned for skin colors (e.g. black-and-white pictures) will be listed with a question mark instead of the skin color percentage. Please note that there may be false positives, i.e. skin-like colors of a non-skin surface.

A forensic license also allows to match the calculated hash values against a hash database. It is up to you whether files that occur in the hash database will be included in the drive contents table or excluded. This allows you to conveniently check if certain known bad files are present on a medium (e.g. malware, child pornography from a known source) or to conveniently exclude known good files from your examination (e.g. standard Windows installation files). WinHex supports the hash database formats NSRL RDS 2.x, ILook, and HashKeeper. The Create Drive Contents Table command can also be used to create your own hash sets, in the NSRL RDS 2.x format, which can later be used for matching.

The folder specified as the hash database input is checked for compatibility. The file formats NSRL RDS 2.x, HashKeeper, and ILook are supported. All the files in the folder must be in the same format. Files that do not have the required format will cause an error message to be displayed and the folder not to be accepted. Files with extensions other than txt, ilk, and hsh are completely ignored. The files "version.txt", "hashes.txt", "NSRLMfg.txt", "NSRLOS.txt", and "NSRLProd.txt" (often accompanying an NSRL database) are ignored as well.

Files whose records are sorted by the very hash type that is used for matching can be searched particularly quickly. If your hash database is large, it is strongly recommended for efficiency reasons to sort its records prior to matching, e.g. using sort.exe or MS Access. NSRL RDS 2.x files are usually sorted by SHA-1. Please be aware that when you concatenate files whose records are sorted internally, the resulting large file will no longer be sorted. Only the first 10, 20 records in each file are actually checked by WinHex. If those are found to be in ascending order, you have to confirm that all the records are indeed fully sorted. This is because if records are treated as sorted although they are not sorted, matching does not work. You can also speed up matching if you have WinHex load and keep the hash database in main memory until the contents table creation is complete. However, this does not work for very large hash databases, of course.


Evidence Objects

You may add any currently attached computer medium (such as hard disk, memory card, USB stick, CD-ROM, DVD, ...), any image file, or ordinary file to the active case. It will then be permanently associated with this case (unless you remove it from the case later), displayed in the tree-like case structure, and designated as an evidence object or source of evidence. A subfolder is created in the case folder for each evidence object, where by default files will be saved that you recover from that evidence object, so it will always be obvious from which object exactly (and from which case) recovered files originate.

In the evidence object properties window, you may enter a title or number for that evidence object according to your own conventions. The date and time it was associated with the active case is recorded and displayed. The internal designation of the evidence object is displayed as well as its original size in bytes. You may enter comments of arbitrary length that apply to the evidence objects, and a technical description of it is added by WinHex automatically (as known from the Medial Details Report command in the Specialist menu). You may have WinHex calculate a hash (checksum or digest) on the evidence object and verify it later, so that you can be sure that data authenticity has not been compromised in between. MD5 hashes from Encase images are imported automatically when added to a case. You may disable the automated log feature for a specific evidence object if the log feature is enabled for the case as a whole.

Ways how to add files or media to a case: The "Add" commands in the case data window's File menu. The "Add" command in the edit window's tab's context menu. The "Add" command of a directory browser's item's context menu.

Sub-elements

All evidence objects in turn have further elements associated with them. There is a list of annotations/file marks, initially blank, where you may specially mark and comment an unlimited number of positions of interest, specifically for the evidence object. See Position Manager. Up to 10 contents tables can be associated with an evidence object. They are created by the Specialist menu commands Create Drive Contents Table and Create Directory Contents Table. They shows the files of a volume including those in subdirectories in a single flat view, optionally grouped by file categories. Finally, if you extract free space, slack space, or text from a volume (using Specialist menu commands), the resulting files will show up in the case tree below the corresponding evidence object as well.


Gallery View

Available with a forensic license of WinHex only.

WinHex offers a gallery view for a logical drives, partitions, and image files when the directory browser is active. It can be switched on in the Access button menu. In the gallery view, the actual hex/ASCII part of an edit window becomes invisible and is replaced by the gallery view window, where thumbnails of those pictures are displayed that are listed in the directory browser. By scrolling in the directory browser, the gallery view scrolls as well. You may switch the directory even while the thumbnails are still loading. By double-clicking a thumbnail, you get a full-size view of the picture. Simply click that picture again to return to the gallery view. Even incomplete files (e.g. incompletely recovered because of fragmention) can usually be displayed partially.

The gallery view shows files with the folowing filename extensions:

BMP

JPG/JPEG (+JPEG 2000)

PNG

GIF

TIF

TGA

PCX

WMF

EMF

MNG

JBG