精选· 重要性 3/5
可执行文件即SQLite数据库:Linux新技巧
Simon Willison's Weblog··约 1 分钟阅读
中文导读
Farid Zakaria 展示了一种 Linux 技巧,将 SQLite 数据库文件直接用作可执行二进制文件,通过自定义解释器和内核机制实现,为程序分发提供新思路。
2026年8月24日-链接博客您的可执行文件是SQLite数据库(通过)Farid Zakaria描述了一种简洁的Linux模式,用于创建SQLite数据库文件,该文件可以直接用作可执行二进制文件。
该技巧将SQLite文件格式的4字节应用程序ID(文件中的68个字节)设置为SELF,代表结构化可执行和可链接格式。然后使用此模式将ELF可执行格式的各个组件排列到许多不同的SQLite表中。
他们的自我执行者解释器(此处为C代码)然后可以提取并执行必要的部分。此外,您还可以使用名为binfdt_misc的Linux机制来教导内核在遇到与该二进制模式匹配的可执行文件时执行该命令。
Farid在这里使用NixOS,但如果没有NixOS,我认为注册看起来像这样:print '%s\n ':self:M:68:SELF:/SAL/本地/bin/self-exec:
'> /proc/sys/fs/binfdt_misc/register最近的文章- 概念完整性和代码行计数-2026年8月19日- Qwen 3.8 27 B很棒,
但它默认为过度思考-2026年8月16日- 现在我们有了OpenAI对Hugging Face意外攻击的时间轴-2026年8月7日