TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.53K subscribers
Post #3027 194
Как устроен исполняемый файл Linux и как разобрать его вручную

Обстоятельная первая часть серии об ELF, формате исполняемых и компонуемых файлов, начинается с программы на ассемблере x86-64, которая печатает hi there. После сборки NASM и компоновки файл занимает 8,68 КиБ, а gzip -9 сжимает его до 372 байт.

Вместо готовых анализаторов автор читает шестнадцатеричный дамп, учитывает порядок байтов от младшего к старшему и находит таблицу заголовков секций по смещению 0x2140. Записи в ней указывают, где начинаются части файла и сколько байтов занимают. Затем автор пишет собственный разбор с библиотекой nom.

Материал fasterthanli.me полезен системным разработчикам и тем, кто хочет связать сырые байты ELF с кодом, данными и именами секций. Страница не обновлялась около семи лет, поэтому это учебный разбор, а не справочник по текущим инструментам.
More from @prog_stuff
  1. Sep 23, 2026Как реализовать get or create в PostgreSQL без гонок и раздувания таблицы Обстоятельный ра…
  2. Sep 22, 2026Как одну проверку Clippy ускорили в 3133 раза Казалось бы, проверить скобки в вызовах макр…
  3. Sep 22, 2026Как SQLite обеспечивает атомарный коммит Транзакция выглядит так, будто записалась целиком…
  4. Sep 21, 2026Как выбрать равновероятную выборку из потока неизвестной длины Интерактивный разбор объясн…
  5. Sep 21, 2026Как LMAX вынесла торговую логику в один поток Разбор архитектуры LMAX показывает, почему м…
  6. Sep 20, 2026Как процессор предсказывает ветвления Псевдотранскрипт доклада объясняет тему с нуля. Конв…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →