ntsys/BINARY.md
2026-03-10 17:35:34 +04:00

1.5 KiB
Raw Permalink Blame History

Структура файла

Файл содержит заголовок, сигнатуру и исполняемый код. Файл является 16-битным. В качестве порядка размещения байт используется LITTLE-ENDIAN в независимости от платформы.

Заголовок

Его структура следующая:

  • Сигнатура (16 BIT) это текст MZ (0x4D5A)
  • Размер памяти под файл (32 BIT)
  • Размер стека (16 BIT)

Пример записи заголовка на BASH:

touch hello_world.hex
echo "4d5a240000002000" > hello_world.hex
touch hello_world.exe
xxd -r -p hello_world.hex hello_world.exe

Структура

Файл содержит исполняемые команды. Подробнее здесь. Пример записи структуры на BASH:

touch hello_world.hex
echo "0248656c6c6f2c20776f726c64210a000001001a00022a00" >> hello_world.hex
touch hello_world.exe
xxd -r -p hello_world.hex hello_world.exe

Пример

Выполните следующий скрипт:

touch hello_world.hex
echo "4d5a2400000020000248656c6c6f2c20776f726c64210a000001001a00022a00" > hello_world.hex
touch hello_world.exe
xxd -r -p hello_world.hex hello_world.exe

Для запуска введите:

ntsys hello_world.exe