Шістнадцятковий переглядач — це вбудований інструмент, який полегшує низькорівневий аналіз даних файлів у шістнадцятковому представленні. Не забувайте, що всі файли обробляються в програмі в безпечному режимі лише для читання, тож вихідні дані опрацьовуваного сховища ніколи не зазнають змін.
Щоб переглянути шістнадцятковий вміст файлу, спочатку виберіть його в області основного вмісту вікна Провідника, а потім натисніть опцію "Переглянути" під його мініатюрою попереднього перегляду на панелі з правого боку. Або ж ви можете просто двічі клацнути мишею на потрібному файлі чи вибрати його та натиснути клавішу Enter.
Потім, за потреби, перемкніться на вкладку "Шістнадцяткові значення".
У відкритій вкладці ви побачите область основного вмісту (1) в центрі, головну панель інструментів (2) над нею та контекстний рядок (3) разом із полем кодування (4) під нею.
Область основного змісту
Область основного вмісту Шістнадцяткового переглядача складається з чотирьох частин:
Панель адреси байту
Залежно від вибраного режиму адреси, ця панель показує зміщення (англ. offset) для кожного стовпця байтів під нею як шістнадцяткове або десяткове значення. Всього є 16 стовпців, що відображаються за замовчуванням, але їх кількість можна змінити: двічі клацніть число поруч із цією панеллю та введіть нове значення або скористайтеся кнопками зі стрілками, щоб змінити його.
Панель адреси рядка
У цій панелі можна побачити позицію першого байта у відповідному рядку (так зване зміщення). Кнопка у її верхній частині дозволяє перемикатися між шістнадцятковим та десятковим режимами адреси ([HEX]/[DEC]). Адресу кожного конкретного байта даних можна знайти на перетині панелей адреси рядка та байта.
Панель шістнадцяткових значень
Ця панель містить масив шістнадцяткових байтів, тобто фактичний вміст даних. Кожен байт представлений двома шістнадцятковими цифрами (від 0 до 9 і від A до F), по 4 біти кожна.
Панель текстового представлення даних
Ця панель показує вміст панелі шістнадцяткових значень у вигляді послідовності текстових символів у кодуванні, вибраному у відповідному полі прямо під нею. Обидві панелі синхронізуються: якщо виділити байт або діапазон байтів на панелі шістнадцяткових значень, його чи їх текстове значення на сусідній панелі відповідно підсвічується.
Головна панель інструментів
Головна панель інструментів Шістнадцяткового переглядача пропонує набір інструментів для роботи з даними, представленими в області основного вмісту:
Попереднє положення
Цей інструмент допомагає повернутися на один крок назад до попередньої позиції розміщення курсору на панелі шістнадцяткових значень/текстового представлення даних.
Наступне положення
За допомогою цього інструменту можна перейти до позиції курсору на панелі шістнадцяткових значень/текстового представлення даних, у якій він перебував до використання функції "Попереднє положення".
Перейти…
Ця функція відкриває діалогове вікно, де ви можете вказати параметри позиції на панелі шістнадцяткового представлення даних, до якої бажаєте перейти: зміщення, одиниці (байти, блоки визначеного розміру) і напрямок.
Відмітити позицію
Натиснувши на цю функцію, ви можете відкрити діалогове вікно для збереження поточної позиції курсору на панелі шістнадцяткового представлення даних разом із власним коментарем щодо неї. Усі відмічені таким чином позиції додаються до спеціального списку, за допомогою якого у подальшому можна робити миттєві "переходи" до будь-якої з них. Щоб відкрити або приховати список позицій, натисніть опцію "Всі позиції" у спадному меню цього інструменту. Зауважте, що список відмічених позицій втрачається із закриттям програмного забезпечення, якщо ви не збережете його локально на своєму комп'ютері за допомогою відповідної опції у верхній частині панелі списку.
Попередня позиція
Клацніть цю опцію, щоб перейти до попередньої позиції у списку відмічених позицій.
Наступна позиція
Натисніть на цю опцію, щоб перейти до наступної позиції у списку відмічених позицій.
Закріпити структуру
Цей інструмент дозволяє застосувати попередньо визначений шаблон структури до блоку даних у поточному положенні курсору на панелі шістнадцяткових значень. Додати шаблон можна за допомогою кнопки "Імпортувати" у діалоговому вікні цього інструменту. Завантаживши шаблон, ви зможете переглянути його деталі у вищезазначеному діалоговому вікні за допомогою кнопки "Детальніше" або у панелі Інформації, яку можна відкрити або приховати за допомогою інструмента "Переключити панель Інспектора" з панелі інструментів головного вікна Шістнадцяткового переглядача.
Знайти дані
За допомогою цього інструменту ви можете знайти потрібну послідовність даних за її параметрами. Він дозволяє шукати як у панелі шістнадцяткових значень, так і у панелі текстового представлення даних. Ви також можете виконати розширений пошук шістнадцяткових даних із застосуванням спеціального синтаксису (рекомендується лише для досвідчених користувачів).
Виділити діапазон
Цей інструмент застосовується для визначення діапазону даних, який потрібно виділити на панелі шістнадцяткових значень/текстового представлення даних для подальших операцій.
Копіювати
Ця опція відкриває спадний список режимів копіювання даних. Можна вибрати потрібний серед наступних варіантів:
Копіювати "сирі" дані – скопіювати необроблені неформатовані дані, які наразі вибрані на панелі шістнадцяткових значень.
Копіювати текст – скопіювати вибрану послідовність символів із панелі текстових даних.
Копіювати Unicode – скопіювати вибрану послідовність символів у двобайтовому кодуванні Unicode.
Копіювати UTF-8 – скопіювати вибрану послідовність символів в однобайтовому кодуванні UTF-8.
Копіювати шістнадцятковий текст – скопіювати дані, вибрані на панелі шістнадцяткових значень, як текст.
Копіювати позицію – скопіювати значення поточної позиції курсору.
Оновити
Ця функція оновлює інформацію, що наразі відображається в Шістнадцятковому переглядачі.
Переключити панель Інспектора
Якщо клацнути на цю іконку, праворуч відкриється панель Інформації з більш докладними відомостями про поточну вибрану позицію чи діапазон даних. Щоб приховати її, натисніть цю саму іконку ще раз.
Контекстний рядок
Тут ви можете переглянути дані про поточне положення курсору на панелі шістнадцяткових значень/текстового представлення даних. Значення, що відображаються у цьому рядку, залежать від активного режиму адреси (шістнадцятковий, десятковий). Рядок включає декілька елементів:
Поточна позиція
У цьому полі відображається адреса позиції, у якій наразі знаходиться курсор. Якщо клацнути на це поле, відкриється діалогове вікно "Перехід на позицію", де можна вручну ввести адресу позиції, до якої ви хочете перейти. Крім того, ви можете використати це вікно, щоб скопіювати адресу поточної позиції в буфер обміну.
Позиції виділеного діапазону байтів
У цьому полі ви можете побачити позиції першого та останнього байтів у діапазоні, вибраному на панелі шістнадцяткових значень/текстового представлення даних. Клацніть на це поле, щоб відкрити діалогове вікно "Діапазон виділення", у якому можна вручну ввести першу та останню позиції нового діапазону для виділення.
Кількість виділених байтів
Це поле показує кількість байтів у наразі виділеному діапазоні. Клацнувши на нього, можна відкрити діалогове вікно "Діапазон виділення", яке дозволяє вручну вказати кількість байтів у новому діапазоні для виділення.
Поле кодування
У цьому полі вказується кодування, наразі застосоване до панелі текстового представлення даних. Клацніть на нього, щоб вибрати потрібне кодування зі спадного списку.
Шістнадцятковий переглядач — це вбудований інструмент програми для перегляду двійкового вмісту файлу. Щоб відкрити його, просто перемкніться на вкладку "Шістнадцяткові значення" у вікні інструменту для попереднього перегляду файлів.
Вміст відкритого файлу відображається на панелях шістнадцяткових значень і текстового представлення даних, оснащених горизонтальними та вертикальними смугами прокрутки.
Якщо поставити курсор на будь-яку з цих панелей, він перетвориться на вертикальну лінію, що дозволяє вибрати позицію, до якої буде застосовано подальшу команду. Поточне положення курсору виділяється темно-синім кольором, а його адреса автоматично з’являється в полі Поточна позиція у нижній частині вікна.
Поточну позицію курсору також можна використати як початкову точку для виділення діапазону значень. Якщо виділити декілька байтів, у полі Позиції виділеного діапазону байтів внизу з'являться позиції першого й останнього у вибраному діапазоні, а в полі Кількість виділених байтів – загальна кількість байтів у ньому.
Коли курсор розташований на одній панелі, наприклад, на панелі шістнадцяткових значень, його положення на іншій, у нашому випадку, на панелі текстового представлення даних, підсвічується світло-блакитним кольором. Ви можете швидко перемикатися між панелями за допомогою миші або клавіші Tab.
Додаткову інформацію про поточну позицію розміщення курсору можна знайти на панелі Інформації, що відкривається за допомогою опції "Переключити панель Інспектора" на головній панелі інструментів Шістнадцяткового переглядача (або клавішами Ctrl+I). Сама панель складається з кількох розділів, вміст яких можна відобразити або приховати за допомогою кнопок плюс/мінус поруч із їхніми назвами:
Інформація про стан
Тут ви можете знайти адреси поточної позиції курсору та наразі виділеного діапазону даних. Значення, відображені у цьому розділі залежать від активованого режиму адреси (десятковий, шістнадцятковий).
Поточна позиція – адреса позиції, у якій наразі знаходиться курсор. Маленька кнопка зі стрілкою поруч із цим параметром відкриває діалогове вікно "Перехід на позицію", яке дозволяє швидко перейти до іншої позиції.
Початок виділеної області – перша позиція у виділеному діапазоні байтів. Маленька кнопка зі стрілкою поруч із цим полем відкриває діалогове вікно "Діапазон виділення", у якому можна вказати новий діапазон даних для виділення.
Виділені байти – кількість байтів у вибраному діапазоні.
Позиція в процентах – значення у відсотках, яке обчислюється для адреси поточної позиції курсору по відношенню до загального розміру наразі відкритого файлу.
Позиція в секторах – адреса поточної позиції в секторах.
Інформація про структуру
Розділ "Інформація про структуру" з’являється у цій панелі у разі застосування шаблону структури.
Назва – назва шаблону структури, який наразі застосовано.
Базова позиція – початкова позиція поточного застосованого шаблону структури.
Поля структури – вказані користувачем поля структури у файлі шаблону структури.
Інспектор сирих даних
Розділ "Інспектор сирих даних" представляє дані, вибрані на панелі шістнадцяткових значень/текстового представлення даних у різних форматах. Ви можете додати або видалити певні формати даних з цього розділу за допомогою параметра "Інспектор даних" у розділі "Конфігурація" внизу цієї панелі. Просто знайдіть згаданий параметр і оберіть "Конфігурувати" в спадному списку поруч з ним. За замовчуванням у цьому розділі можна побачити наступні формати:
Byte – шістнадцяткове значення поточної позиції курсору.
Word – шістнадцяткові значення двох послідовних байтів, починаючи з поточної позиції курсору, у порядку little-endian.
Dword – шістнадцяткові значення чотирьох послідовних байтів, починаючи з поточної позиції курсору, у порядку little-endian.
Qword – шістнадцяткові значення восьми послідовних байтів, починаючи з поточної позиції курсору, у порядку little-endian.
Big-endian word – шістнадцяткові значення двох послідовних байтів, починаючи з поточної позиції курсору, у порядку big-endian.
Big-endian dword – шістнадцяткові значення чотирьох послідовних байтів, починаючи з поточної позиції курсору, у порядку big-endian.
Big-endian qword – шістнадцяткові значення восьми послідовних байтів, починаючи з поточної позиції курсору, у порядку big-endian.
ASCII – текстове значення, що відповідає однобайтовому шістнадцятковому значенню поточної позиції курсору.
UTF-16 – текстове значення, що відповідає двобайтовому шістнадцятковому значенню поточної позиції курсору в порядку little-endian.
Big-endian UTF-16 – текстове значення, що відповідає двобайтовому шістнадцятковому значенню поточної позиції курсору в порядку big-endian.
Unix time – чотирибайтова позначка часу в порядку little-endian для даних в операційних системах, подібних до Unix.
Long unix time – восьмибайтова позначка часу в порядку little-endian для даних в операційних системах, подібних до Unix.
Big-endian unix time – чотирибайтова позначка часу в порядку big-endian для даних в операційних системах, подібних до Unix.
Windows file time – восьмибайтова позначка часу для даних у Windows.
DOS file date – двобайтова позначка часу для даних в операційній системі DOS.
Властивості джерела даних
Розділ "Властивості джерела даних" містить короткий огляд властивостей поточного джерела даних:
Тип джерела – тип джерела даних, що наразі переглядається.
Розмір джерела – загальний розмір у байтах джерела даних, що наразі переглядається.
Конфігурація
Останній у панелі – розділ "Конфігурація". Він відображає поточні налаштування панелі Інформація та дозволяє їх міняти:
Текстове кодування – кодування, яке наразі застосовується для текстового представлення даних. Ви можете змінити поточне кодування на потрібне, вибравши його зі спадного списку.
Розподіл на блоки – увімкнути/вимкнути розділення вмісту на блоки заданого розміру на панелі шістнадцяткових значень/текстового представлення даних. Щоб увімкнути цей розподіл, ви маєте вибрати між розділенням з глобальними адресами (адреса кожного блоку починається з адреси попереднього) або з внутрішніми адресами (адреса кожного нового блоку починається з нуля).
Інспектор даних – дозволяє налаштувати розділ "Інспектор сирих даних" цієї панелі. Ви можете прибрати цей розділ з панелі або вибрати формати даних для відображення в ньому, поставивши позначки біля потрібних у списку доступних форматів.
Структури – визначає, чи показувати деталі застосованого шаблону структури у панелі Інформація.
Присвоювати структури автоматично – увімкнути/вимкнути автоматичне застосування поточного шаблону структури до всіх однотипних файлів.
Найпростіший спосіб переміщуватись вмістом у Шістнадцятковому переглядачі — це пересувати курсор вручну за допомогою миші або клавіш зі стрілками на клавіатурі. З іншого боку, ви можете миттєво перейти до потрібної позиції, ввівши її адресу в діалоговому вікні "Перехід на позицію". Це діалогове вікно відкривається за допомогою функції "Перейти" на панелі інструментів або натисканням комбінації клавіш Ctrl+G. Крім того, ви також можете відкрити його, клацнувши на поле "Поточна позиція" на панелі контекстного рядка внизу або на кнопку зі стрілкою поруч із властивістю "Поточна позиція" на панелі Інспектора.
У вікні "Перехід на позицію" введіть адресу зміщення, до якого ви хочете перейти, у поле "Нова позиція". Кнопка зі стрілкою поруч з ним дозволяє переглянути історію навігації.
До того ж, ви можете змінити одиницю, що використовується для переходу з байтів на блоки заданого розміру, та налаштувати напрямок "руху": вперед або назад з поточної позиції, або з початку/кінця джерела даних, або від встановленої вручну позиції.
Після натискання кнопки "Перейти" внизу діалогового вікна курсор переміститься у вказану позицію.
Одразу після зміни положення курсору функція "Попереднє положення" на панелі вгорі стане активною. Натиснувши на неї, можна повернутися до попереднього положення курсору. Ви можете натиснути її або клавішу Backspace декілька разів, щоб перейти до тієї з попередніх позицій, яка вам потрібна.
Після застосування функції "Попереднє положення" активується функція «Наступне розташування» (Shift+Backspace), яка дозволяє скасувати зроблені кроки назад.
Шістнадцятковий переглядач дозволяє легко та швидко створювати закладки для важливих позицій. Щоб додати позицію у закладки (відмітити її), спочатку виділіть її, а потім клацніть на опцію "Відмітити позицію" на головній панелі інструментів або ж натисніть клавіші Ctrl+D.
У вікні "Відмітити поточну позицію" введіть примітку/назву для вашої закладки та натисніть "Так".
Нову позицію буде додано до списку позицій, який можна відкрити для перегляду у окремій панелі праворуч. Якщо для цієї позиції вже була створена закладка, її буде замінено на нову.
Щоб побачити список позицій, клацніть опцію "Всі позиції" у спадному списку інструмента "Відмітити позицію" або скористайтеся комбінацією клавіш Ctrl+Shift+P. У панелі відмічених позицій можна двічі клацнути на будь-яку з них, щоб одразу перейти до неї. Ви також можете натиснути опцію "Перейти" в контекстному меню потрібної збереженої позиції або виділити її та використати функцію "Перейти" з панелі інструментів вгорі над списком з тією ж метою.
Щоб видалити позицію зі списку, виберіть її на панелі закладок і натисніть опцію "Видалити" в її контекстному меню. Крім того, ви можете скористатися опцією "Коментар" у тому самому контекстному меню, щоб змінити назву/коментар закладки.
З метою резервного копіювання список закладок можна експортувати за допомогою функції "Зберегти список позицій у файл" з панелі інструментів над списком відмічених позицій. Пізніше ви зможете завантажити збережений файл за допомогою кнопки "Завантажити збережені позиції з файлу" на тій самій панелі.
Щоб видалити весь список закладок, скористайтеся кнопкою "Очистити поточний список відмічених позицій" на вищезгаданій панелі.
За допомогою функції "Знайти дані" з головної панелі інструментів Шістнадцяткового переглядача або комбінації клавіш Ctrl+F ви можете знайти будь-яку послідовність шістнадцяткових байтів або текстовий рядок у відкритому файлі.
Ця функція відкриває вікно для налаштування параметрів пошуку. Зокрема, там можна ввести шаблон для пошуку в поле "Знайти".
Потім вам слід буде обрати між опціями "Текст" або "Шістнадцяткові значення" у спадному списку параметра "Знайти як" або вибрати "Розширений пошук" там же, якщо вам потрібно застосувати спеціальний синтаксис для отримання кращих результатів пошуку.
Параметр "Напрямок пошуку" дозволяє визначити, чи потрібно шукати наступне або попереднє входження вказаного шаблону для пошуку.
За замовчуванням пошук виконується у всьому поточному файлі. Тим не менш, ви маєте змогу обмежити область пошуку. Зокрема, ви можете налаштувати пошук заданого шаблону в певній позиції в кожному блоці визначеного розміру. Для цього поставте галочку біля параметра "На позиції" і введіть необхідний номер позиції та розмір блоку. Якщо програма не зможе знайти цей шаблон у першому блоці, вона шукатиме його в наступному і так далі.
Програмне забезпечення автоматично налаштоване на пошук першого входження введеного шаблону в заданому напрямку. Якщо вам потрібно знайти всі входження, поставте позначку біля опції "Перелік позицій", щоб програма знайшла їх та подала у вигляді списку відмічених позицій. Крім того, ви можете обмежити кількість позицій для відображення у списку за допомогою параметра "Позицій максимально".
Якщо вибрати "Текст" у спадному списку параметра "Знайти як", нижче у вікні з’являться ще два додаткові параметри для налаштування:
Текстове кодування – кодування рядка для пошуку;
Пошук з урахуванням регістру – якщо його активовано, програма розрізнятиме великі та малі літери.
Що стосується режиму "Розширений пошук", то він дозволяє вказати шаблон пошуку із застосуванням наступного спеціального синтаксису:
? – будь-які 4 біти в шістнадцятковій послідовності (наприклад, 0?22 може означати 0022, 0222…0F22).
*N* – будь-які "N" (кількість) байтів (наприклад, *15* означає будь-які 15 байтів).
!B! – будь-яке значення, відмінне від "B" (наприклад, !1! означає "не дорівнює 1", а !ff! – "не FF").
{B1,B2...} – дійсний перелік байтів (наприклад, {00,?1,1f} означає 0, будь-який з 01…F1 або 1F).
{??,!B2!...} – випадок перерахування "за винятком" (наприклад, байт збігається з першим значенням і не збігається з другим).
's' – рядок у ASCII (наприклад, 'str' означає "73 74 72").
"s" – рядок у Unicode (наприклад, "str" означає "73 00 74 00 72 00").
`s` – рядок у UTF-8 (схожий на рядок у ASCII, але він кодує "локалізовані" символи в UTF-8).
+ – якщо вказане на початку рядка, робить пошук чутливим до регістру.
- – якщо стоїть на початку рядка, робить пошук не чутливим до регістру.
Налаштувавши всі необхідні параметри пошуку, натисніть кнопку "Пошук". Коли збіг буде виявлено, курсор переміститься на початок знайденого шаблону.
Щоб вибрати діапазон значень на панелі шістнадцяткових значень/текстового представлення даних, затисніть ліву кнопку миші та перемістіть курсор у потрібному напрямку. Крім того, ви можете скористатись Shift у поєднанні з клавішами зі стрілками з цією ж метою.
На додаток, вибрати безперервну послідовність байтів можна ще й за допомогою інструмента "Виділити діапазон" з головної панелі інструментів Шістнадцяткового переглядача, або скориставшись комбінацією клавіш Ctrl+R, або клацнувши на поле "Позиції вибраного діапазону даних" чи "Кількість байтів у вибраному діапазоні" у контекстному рядку внизу.
У вікні "Діапазон виділення" введіть адресу першого байта та кількість послідовних байтів, яку потрібно виділити.
Ви можете встановити поточну позицію курсору як початкову точку нового виділення.
З іншого боку, ви маєте змогу вручну ввести перший і останній байт діапазону, який потрібно виділити. Для цього виберіть відповідні параметри у спадних списках.
Потім натисніть кнопку "Задати" у нижній частині діалогового вікна, щоб виділити новий діапазон. Його перший і останній байти, а також розмір у байтах відображатимуться в контекстному рядку під областю основного вмісту Переглядача.
Шістнадцятковий переглядач дозволяє копіювати в буфер обміну діапазон значень, виділений на панелі шістнадцяткових значень/текстового представлення даних. Для цього слід скористатись функцією "Копіювати" з головної панелі інструментів.
Натисніть кнопку зі стрілкою поруч із цією функцією, щоб вибрати формат для копіювання виділених даних. Доступні наступні варіанти:
"Сирі" дані – щоб скопіювати сирі неформатовані дані, які наразі вибрані на панелі шістнадцяткових значень.
Текст – щоб скопіювати послідовність символів, вибрану на панелі текстового представлення даних, у кодуванні, яке зараз відображається у полі кодування.
Unicode – щоб перетворити вибрану послідовність символів у двобайтовий Unicode і потім скопіювати її в буфер обміну.
UTF-8 – щоб перетворити вибрану послідовність символів у однобайтовий UTF-8 і потім скопіювати її в буфер обміну.
Шістнадцятковий текст – щоб інтерпретувати послідовність байтів, виділену на панелі шістнадцяткових значень, як текстові дані і скопіювати її у буфер обміну.
Позиція – для копіювання адреси поточної позиції курсору.