selfdb: Ausführbare Programme als SQLite-Datenbanken statt ELF-Dateien

Repositoryfzakaria/selfdbTool

selfdb stellt SELF (Structured Executable & Linkable Format) vor. Das Projekt ersetzt das klassische ELF-Binärformat unter Linux durch eine SQLite-Datenbank und stellt die nötigen Interpreter- und Loader-Komponenten bereit, um diese Dateien direkt auszuführen.

Das Wichtigste

  1. Ersetzt ELF-Dateien durch SQLite-Datenbanken (SELF), wodurch Binärdaten und Tabellenzeilen identisch sind.
  2. Ermöglicht Operationen wie ldd oder strip über normale SQL-Befehle (z. B. 'DELETE FROM sections').
  3. Stellt mit self-exec einen binfmt_misc-Interpreter bereit, der drei Lademodi unterstützt: memfd, native und selfld (eigener dynamischer Linker via SQL).
  4. Enthält libself-audit.so für reguläres glibc, um über SQL aufgelöste .self-Shared-Libraries zu laden.
  5. Umfasst Konverter (elf2self, self2elf via Python und LIEF) sowie Nix/NixOS-Integrationen (Modul, VM, Hook).
  6. Zeigt mit self-httpd eine Demoanwendung, bei der Programmcode, Webseiten und Besucher-Logs in einer einzigen ausführbaren Datenbankdatei liegen.

Warum das relevant ist

Klassische Binärformate wie ELF erfordern spezialisierte Parser und Werkzeuge wie readelf, objdump oder strip. Indem Binärstrukturen in relationalen SQLite-Tabellen abgebildet werden, lassen sich Analyse, Modifikation und dynamisches Verlinken mit gängigen SQL-Werkzeugen durchführen.

Einordnung

Das Projekt selfdb baut auf früheren Arbeiten des Autors (sqlelf) auf, invertiert jedoch den Ansatz: Statt nur eine SQL-Schnittstelle über bestehende ELF-Dateien zu legen, wird die Binärdatei selbst zur SQLite-Datenbank. Technisch stützt sich das Repository auf Python, LIEF, Nix/NixOS und Linux-Kernel-Mechanismen wie binfmt_misc. Das Projekt richtet sich vor allem an Systemprogrammierer, Toolchain-Entwickler und Sicherheitsforscher, die neue Paradigmen für Binärformate und Linker evaluieren möchten. Der Reifegrad ist experimentell (Proof of Concept mit Test-Harness und Meilensteinen M0 bis M3b), bietet aber bereits funktionierende Demos wie ein NixOS-VM-Image und einen Live-Webserver.

Gefunden in

Zusammenfassung von KI erstellt (Gemini 3.8 Flash, 27. September 2026). Sie kann Fehler enthalten – maßgeblich ist die Originalquelle.

Inhaltlich ähnlich, ermittelt über die KI-Suche.

  • Repository:tursodatabase/turso

    Turso: SQLite-kompatible In-Process-SQL-Datenbank in Rust

    Turso ist eine quelloffene, in Rust geschriebene In-Process-SQL-Datenbank, die SQLite-Kompatibilität bietet und experimentell auch ein Postgres-Frontend unterstützt. Das Projekt bezeichnet sich selbst als 'LLVM der Datenbanken' und arbeitet wie SQLite über eine virtuelle Maschine (VDBE), die SQL in Bytecode übersetzt.

    24.173SterneRust

    Webentwicklung· Tool

  • Repository:swoole/typephp

    TypePHP: AOT-Compiler übersetzt PHP in native Binärdateien

    TypePHP ist ein von Swoole entwickelter Ahead-Of-Time-Compiler (AOT), der PHP-Code in C++17 und anschließend in nativen Maschinencode übersetzt. Damit lassen sich eigenständige Executables, PHP-Extensions, Shared Libraries oder WASI-Komponenten ohne Zend-Opcode-Interpretation zur Laufzeit erstellen.

    1220SternePHP

    Webentwicklung· Tool

  • Repository:coollabsio/coolify

    Coolify: Open-Source-PaaS als selbst gehostete Cloud-Alternative

    Coolify ist eine quelloffene, selbst gehostete Platform-as-a-Service (PaaS) unter Apache-2.0-Lizenz, die als Alternative zu Vercel, Heroku und Netlify dient. Sie ermöglicht das Deployment von Webanwendungen, statischen Seiten, Datenbanken und über 280 One-Click-Diensten auf eigenen Servern per SSH.

    61.437SternePHP

    Webentwicklung· Tool

  • Repository:DeusData/codebase-memory-mcp

    codebase-memory-mcp: Wissensgraph-basierte Code-Intelligence über MCP

    codebase-memory-mcp ist ein in reinem C geschriebener Model Context Protocol (MCP) Server, der Quellcode in Wissensgraphen indiziert. Er ermöglicht KI-Coding-Assistenten wie Cursor oder Claude Code blitzschnelle Strukturabfragen bei drastisch reduziertem Token-Verbrauch.

    42.282SterneC

    KI & AI· Tool

  • Repository:ed-donner/bench

    Bench: Vier Local-First-Anwendungen auf einem lokalen Server

    Bench bündelt vier eigenständige Local-First-Anwendungen hinter einem gemeinsamen Node.js-Server. Das System arbeitet ohne Cloud-Anbindung oder Login und speichert Daten direkt in lokalen SQLite-Dateien.

    19SterneTypeScript

    Webentwicklung· Tool

Lassen Sie uns über Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.