Farid Zakaria 提出了一種技術,透過重新利用檔案標頭中的應用程式 ID 欄位,將 ELF 二進位檔儲存於 SQLite 資料庫檔案中。搭配自訂解譯器與 Linux binfmt_misc 核心機制,這些 .db 檔案可直接作為程式執行。 此方法透過利用 SQLite 的普及性與簡易性,為 AppImage 或 Flatpak 等傳統封裝格式提供了創新的替代方案。它展示了對檔案格式的深入理解如何促成二進位分發與執行的創意解決方案。 此技巧將偏移量 68 處的 4 位元組應用程式 ID 設定為 'SELF'(Structured Executable & Linkable Format),並將 ELF 元件對應至 SQLite 資料表。binfmt_misc 的註冊機制透過比對該特定位元組序列來呼叫 self-exec 解譯器。

事件背景

ELF(可執行與連結格式)是 Linux 上標準的二進位格式,包含標頭、區段和程式標頭。SQLite 是一種廣泛使用的嵌入式資料庫引擎,其檔案結構包含帶有應用程式 ID 欄位的標頭。binfmt_misc 核心子系統允許 Linux 透過將任意格式的檔案與特定解譯器關聯來執行這些檔案。