Seu executável é um banco de dados SQLite


24 de agosto de 2026 – Link Blog

Seu executável é um banco de dados SQLite (via) Farid Zakaria descreve um padrão Linux bacana para criar um arquivo de banco de dados SQLite que pode ser usado diretamente como um binário executável.

O truque define o ID do aplicativo de 4 bytes do formato de arquivo SQLite (68 bytes no arquivo) como SELF, que significa Structured Executable & Linkable Format. Os vários componentes do formato executável ELF são então organizados em diversas tabelas SQLite diferentes, usando este esquema.

Deles self-exec O interpretador (código C aqui) pode então extrair e executar as peças necessárias.

Além disso, você pode usar um mecanismo Linux chamado binfmt_misc para ensinar o kernel a executá-lo sempre que encontrar um executável que corresponda a esse padrão binário. Farid usa NixOS aqui, mas sem NixOS acho que o registro é mais ou menos assim:

printf '%sn' ':self:M:68:SELF::/usr/local/bin/self-exec:' 
  > /proc/sys/fs/binfmt_misc/register



Source link

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Botão Voltar ao Topo