你的可执行文件是一个 SQLite 数据库
来自 Simon Willison · 期号 2026-08-24
摘要
Linux 可执行文件通常是一个 ELF 二进制文件。Farid Zakaria 展示了一种技巧:把 SQLite 数据库文件本身做成可执行文件。 原理是在 SQLite 文件头写入一个特殊标记(SELF),然后把 ELF 的各段拆成 SQLite 表。配套的 self-exec 解释器会从数据库里提取并执行这些段。 配合 Linux 的 binfmt_misc 机制,可以让内核自动识别这种文件格式,双击就能运行。 原文附了完整的 C 代码和 NixOS 配置示例。