2 месяца назад
🍊 Исполняемый файл как база данных: зачем разработчик заменил ELF на SQLite
Представьте: вы скачали программу, разрешили её запуск командой `chmod +x`, открыли терминал и выполнили как обычный файл. Она печатает «Hello, world!». Но утилита `file` утверждает, что перед вами не привычный исполняемый файл ELF, а база данных SQLite. Это не упаковщик, не архив с программой внутри и не база, которая лишь описывает приложение. Сам исполняемый файл действительно имеет формат SQLite. Его сегменты, символы, зависимости и служебные сведения разложены по таблицам, а часть привычных системных инструментов заменяется обычными SQL-запросами...