InfoSec Binary Hex Editor with Retro Disassemblers
Синопсис
Є цілий клас бінарних редакторів, серед яких 010 Editor, beye, hiew, Binary Ninja, WinHex, що мають окрім HEX режиму — режим дизасемблера. Такі програми зручно використовати для дослідження ROM файлів, прошивок дронів, телефонів, BIOS, у якості систем накладання патчів, створення map-файлу бінарного образу за допомогою текстових анотацій, а також для візуального аналізу об`єктного коду. Фактично це objdump, але з можливістю зберігання та візуального редагування. У цій статті презентується концепт сучасного нового представника цієї когорти редакторів — BE (Binary Editor) InfoSec Hex Editor with Disassemblers, який має наступні характеристики:
Властивості
— Без залежностей, потрібно тільки C99/POSIX які є стандартом
— Без використання ncurses та S-Lang, тільки termios
— Модальність редагування HEX з варіативною довжиною рядка
— Модальність редагування ASM об`єктного коду з відображенням дизасемблера
— 16, 32, 64, 128 бітні режими процесора
— Маркування редагованих байтів перед збереженням, анотація регіонів
— Пошук байтової послідовності, побітове редагування
— Редагування секторів дисків (LBA)
— Створення та накладення патчів з анотованих регіонів
— Повна підтримка x86 архітектури та її розширень у дизасемблері
— vi-подібна система команд та режимів
— Компактне ядро з підтримкою Maс та Linux
— Підтримка контейнерів обʼєктного коду ELF, Mach-O, PE/COFF
— Перша лінія дизасемблерів: EM64T, RISC-V, AArch64
— Друга лінія дизасемблерів: M68K, PowerPC, MIPS, SuperH
— Третя лінія дизасемблерів: PDP-11, 8080/8085/Z80/MSX, 6502/C64/Atari, HC08/HC11
— Четверта лінія дизасемблерів: CLR, JVM, BEAM, EFI Byte Code
Публікації
[1]. Домашня сторінка проекту
[2]. FPGA археологія
[2]. XT: 8086 Дизасемблер
[3]. ARM64: Armv9.2 Дизасемблер