Hexter

Hexter проти Hex Fiend: який шістнадцятковий редактор для Mac вам обрати

Якщо ви шукали шістнадцятковий редактор на Mac, то майже напевно натрапили на Hex Fiend. Він безкоштовний, з відкритим кодом і є типовою рекомендацією майже в кожному списку «найкращих шістнадцяткових редакторів для Mac». Це також справді хороша програма. Це не допис у стилі «чому наш застосунок кращий». Це чесний погляд на те, де Hex Fiend досі є правильним вибором і де Hexter робить речі достатньо інакше, щоб це мало значення.

Коротко

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

Можливість за можливістю

Hex Fiend Hexter
Ціна Безкоштовний, відкритий код (ліцензія BSD) Ще не запущений у Mac App Store
Робота з великими файлами Обробляє файли приблизно до 118 ГБ, не завантажуючи їх у пам’ять Зчитує байти за потреби через кеш фрагментів; ще не протестований на масштабах Hex Fiend
Безпека редагування Має явний режим лише для читання, який можна ввімкнути або встановити за замовчуванням, але сам він не є типовим станом з коробки Відкриває кожен файл лише для читання, завжди, без налаштування, що змінює цю поведінку; редагування потребує явного перемикача, а зміни лежать у шарі латок з можливістю скасування, доки ви не збережете
Захист від перезапису Стандартне збереження; у документації не згадано вбудованого кроку резервного копіювання Перезапис оригінального файлу потребує підтвердження та пропонує автоматичну резервну копію (один файл .hexter-backup, який замінюється під час кожного наступного збереження, а не позначена часом історія)
Двійкове порівняння Порівняння з урахуванням вставок/видалень; жодного обмеження за розміром у документації чи примітках до випуску Справжній алгоритм порівняння, але наразі обмежений для дуже великих порівнянь, з переходом до грубшого результату понад цей розмір
Вбудований розбір структур Постачається зі справді великою бібліотекою шаблонів (близько 17 категорій), але шаблон ви переглядаєте й застосовуєте вручну Структури PNG, ZIP, Mach-O, WAV та SQLite виявляються й розбираються автоматично під час відкриття, без вибору шаблону
Обчислення хешів Не вбудована можливість CRC32, Adler32, MD5, SHA-1, SHA-256 та SHA-512, обчислені по файлу у фоновому режимі
Рядки, закладки, виявлення аномалій Не вбудовано Усе вбудовано: витяг рядків, іменовані закладки з нотатками та сканування на сплески ентропії, підозрілі послідовності байтів і невідповідності сигнатур форматів
Інтерфейс AppKit, функціональний, історія понад десять років Рідний SwiftUI, темний режим, побудований для сучасної macOS
Розширюваність Ліцензія BSD з двома пунктами, можна вбудувати як фреймворк в інші застосунки Не призначений для вбудовування; окремий застосунок
Власні двійкові шаблони Підтримуються через систему шаблонів для довільних форматів Ще не підтримуються; п’ять вбудованих парсерів охоплюють поширені формати, але немає мови шаблонів, визначених користувачем

Де Hex Fiend досі кращий вибір

Якщо ви регулярно працюєте з файлами на десятки гігабайтів, дампами прошивок, образами дисків, великими експортами баз даних, з моделлю пам’яті Hex Fiend та його послужним списком на такому масштабі важко сперечатися. Його інструмент порівняння не має задокументованого обмеження за розміром, що має значення, якщо ваша робота передбачає порівняння великих двійкових файлів. Він також безкоштовний, що вже само по собі чогось варте, а якщо ви створюєте інструмент, якому потрібно вбудувати компонент шістнадцяткового редагування, ліцензія BSD та фреймворкова архітектура роблять це можливим так, як окремий застосунок не може.

Hex Fiend також уже постачається зі значною бібліотекою шаблонів, приблизно 17 категорій, що охоплюють виконувані файли, архіви, аудіо тощо, тож на структурованих форматах він теж не починає з нуля. Якщо вам потрібен власний шаблон для чогось малопоширеного чи власницького, чого ще немає, система шаблонів Hex Fiend (а також інструменти на кшталт 010 Editor чи ImHex, які йдуть у цьому напрямку далі) вам допоможуть. Розбір структур у Hexter добре працює для п’яти форматів, які він знає, PNG, ZIP, Mach-O, WAV, SQLite, але не дає вам визначити власний.

Де Hexter робить щось інакше

Основна відмінність це не можливість, це стан за замовчуванням. Hex Fiend справді має режим лише для читання, але потрібно знати, що його треба ввімкнути (або встановити типовим у налаштуваннях); з коробки він відкриває файл у режимі, придатному для редагування. Hexter відкриває кожен файл лише для читання, завжди, без налаштування, що це змінює. Редагування це те, що ви навмисно вмикаєте, зі змінами, які тримаються в шарі латок, де їх можна переглянути й скасувати, перш ніж щось торкнеться оригінального файлу. Якщо ви витрачаєте більше часу на перегляд файлів, ніж на їх редагування, а більшість сеансів у шістнадцятковому редакторі це насправді огляд, а не редагування, то цей стан за замовчуванням має більше значення, ніж здається. Це означає, що відкриття незнайомого файлу, чиєїсь конфігурації, завантаженого образу прошивки, файлу, який ви налагоджуєте, за замовчуванням не несе ризику, і вам не треба пам’ятати спочатку клацнути перемикач.

Друга відмінність це те, що відбувається автоматично, коли ви відкриваєте файл, який Hexter розпізнає. Замість плоскої стіни шістнадцяткового коду ви отримуєте справжню структуру: межі фрагментів PNG з їхнім типом і CRC, локальні заголовки файлів у ZIP-архіві, команди завантаження двійкового файлу Mach-O, поля заголовка файлу SQLite, розібрані й викладені поруч із сирими байтами, без жодного налаштування. Вбудовані шаблони Hex Fiend можуть дати вам схожі деталі, але спершу ви переглядаєте список шаблонів і застосовуєте один самі.

Крім того, обчислення хешів, витяг рядків і виявлення аномалій (сплески ентропії, невідповідності сигнатур, підозрілі послідовності байтів) вбудовані безпосередньо в Hexter, тоді як у світі Hex Fiend це зазвичай окремий інструмент.

Чесна рекомендація

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

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