Hexter

Як відкрити й прочитати двійковий файл на Mac

У вас є файл без корисного розширення або такий, що macOS не розпізнає, .bin, дамп прошивки, старе збереження гри, щось, що експортував пристрій. Клацаєте по ньому двічі, і або нічого не відбувається, або він відкривається в TextEdit як стіна зі зламаних символів. Ви хочете дізнатися, як відкрити двійковий файл на Mac без здогадок і без ризику для самого файлу.

Чому подвійне клацання не працює

macOS вирішує, як відкрити файл, на основі його розширення, а за відсутності такого на основі здогадки про його тип. Двійкові файли, файли, що зберігають сирі дані, а не текст, не мають стандартного розширення, яке система розпізнає, тож macOS або відмовляється їх відкривати, або передає їх тому застосунку, який вважає найближчим. Зазвичай це TextEdit, який намагається декодувати байти як текст і показує вам здебільшого нечитабельні символи з рідкісним справжнім словом, що подекуди проглядає.

Цей ефект читабельного слова серед шуму не ваша уява. Двійкові файли часто містять вбудований текст (шляхи до файлів, підписи, рядки версій), хоча дані навколо справді двійкові. TextEdit відображає все це як текст, і ось чому ви отримуєте цей напівпобитий, напівзнайомий вигляд. Насправді він не показує вам нічого корисного, і якщо ви випадково збережете з TextEdit, ви можете пошкодити файл.

Що вам насправді потрібно: шістнадцятковий перегляд

Двійковий файл це просто послідовність байтів, кожен з яких число від 0 до 255. Стандартний спосіб безпечно на це подивитися це шістнадцятковий перегляд: кожен байт показано як двосимвольне шістнадцяткове значення (від 00 до FF), вишикуване в рядки поруч зі стовпцем зміщення (де саме у файлі ви перебуваєте) і текстовим стовпцем (ті самі байти, витлумачені як ASCII, для тих частин, що читабельні). Саме це дає вам шістнадцятковий редактор, і це єдиний перегляд, який показує справжній вміст без здогадок про формат.

Три способи туди дістатися

Terminal, з xxd чи hexdump. macOS постачається з обома. Виконайте xxd yourfile.bin | less, і ви отримаєте прокручуваний шістнадцятковий дамп прямо в Terminal. Це швидко й завжди доступно, але лише для читання, без пошуку, без переходу до зміщення й без тлумачення того, на що ви дивитеся, окрім сирого шістнадцяткового коду. Годиться для швидкого погляду, незручно для чогось більшого.

TextEdit чи інший текстовий редактор. Не варто. Як зазначено вище, він декодує байти як текст, а це неправильна призма для двійкових даних, і є реальний ризик тихо пошкодити файл, якщо його буде збережено.

Спеціалізований шістнадцятковий редактор. Це правильний інструмент, якщо ви робите більше, ніж п’ятисекундний погляд: прокручуєте великий файл, шукаєте певний шаблон байтів, переходите до відомого зміщення або перевіряєте, що насправді представляє фрагмент байтів (число, дату, колір, рядок в іншому кодуванні). Hexter створено саме для цього. Він відкриває кожен файл лише для читання за замовчуванням, тож перегляд незнайомого двійкового файлу не несе ризику його зміни. Файли відкриваються миттєво незалежно від розміру, бо Hexter зчитує байти за потреби, а не завантажує весь файл у пам’ять.

Крок за кроком

  1. Відкрийте файл. Перетягніть його на Hexter або скористайтеся «Файл > Відкрити». Немає потреби спершу вгадувати тип файлу; Hexter відкриває будь-що як сирі байти.
  2. Прочитайте розкладку. Стовпець зміщення ліворуч показує, де ви у файлі. Шістнадцяткова сітка посередині показує кожен байт як два шістнадцяткові символи. Панель тексту праворуч показує ті самі байти як ASCII для тих частин файлу, що є справжнім текстом.
  3. Перейдіть до конкретного зміщення за допомогою ⌘J, якщо ви вже знаєте, куди дивитися, замість прокрутки.
  4. Виділіть байти, щоб оглянути їх. Виділення діапазону показує ці дані, витлумачені як різні числові типи (8-, 16-, 32- чи 64-бітні цілі числа, зі знаком чи без, у будь-якому порядку байтів) на бічній панелі інспектора. Саме так ви з’ясовуєте, чи чотири байти є розміром файлу, позначкою часу чи чимось іншим.
  5. Шукайте за допомогою ⌘F, якщо шукаєте певний рядок чи послідовність байтів замість того, щоб прокручувати вручну.
  6. Умикайте редагування лише тоді, коли вам справді треба щось змінити. Hexter тримає файли лише для читання, доки ви явно не ввімкнете редагування, і навіть тоді зміни лежать у шарі латок з можливістю скасування, доки ви не вирішите зберегти. Ніщо з того, що ви робите під час простого перегляду, не може торкнутися оригінального файлу.

Якщо виявиться, що файл це формат, який Hexter розпізнає структурно, PNG, ZIP, Mach-O, WAV чи SQLite, вкладка «Аналіз» розбере справжню структуру (межі фрагментів, заголовки, поля) поруч із сирими байтами, тож ви отримаєте більше, ніж просто шістнадцятковий код.

Ось увесь робочий процес: відкрити, прочитати три стовпці, перейти чи шукати, щоб дістатися куди треба, і оглянути виділене, коли потрібно дізнатися, що насправді означає певна послідовність байтів. Жодних здогадок і нічого під ризиком, доки ви самі не скажете.