# \[ANN\] safe\_elf\_parser

**URL:** <https://forum.ada-lang.io/t/ann-safe-elf-parser/4934>\
**Category:** Releases\
**Tags:** linux, spark\
**Created:** [November 11, 2026, 8:29am UTC](https://forum.ada-lang.io/t/ann-safe-elf-parser/4934 "2026-11-11T08:29:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![lunarlattice0](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/lunarlattice0/32/985_2.png) [@lunarlattice0](https://forum.ada-lang.io/u/lunarlattice0)\
**Post date:** [November 11, 2026, 8:29am UTC](https://forum.ada-lang.io/t/ann-safe-elf-parser/4934/1 "2026-11-11T08:29:46Z")

</div>

Hi all.

As part of another project, I have recently finished work on an ELF format parser library written in SPARK, which can be easily interfaced with from a C/C++ program.

It currently supports parsing ELF headers and section headers, including with the extended section header specification (i.e. when the file has more than 65535 section headers). In addition, it is able to handle ELF files from different endianness. All headers are returned in pages of 32 to make SPARK validation and interfacing with C++ a bit easier. The library does not currently support e\_shstrndx parsing.

> **[GitHub - exAIgesis/safe\_elf\_parser: safe elf parser for adversarial binaries...](https://github.com/exAIgesis/safe_elf_parser)**
>
> safe elf parser for adversarial binaries (gnatprove verified)

Feedback is appreciated and feel free to extend as needed.
