A single header library that uses the most conviluted methods to save data without using a file outside of the exectuable
  • C 97.9%
  • Makefile 2.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-16 21:45:27 -04:00
testing remove binary from repo 2026-04-15 22:03:20 -04:00
.gitignore remove binary from repo 2026-04-15 22:03:20 -04:00
compile_flags.txt initial commit. just made it single header 2026-04-12 19:02:27 -04:00
fileless_saving.h why do i misclick so many times 2026-04-16 21:45:27 -04:00
Makefile major updates. ELF32 and ELF64 now one api. now has fls_serialize_from_pointer 2026-04-15 21:27:00 -04:00
README.md added limitations to readme 2026-04-12 19:58:56 -04:00

Fileless Saving

A single header c89 library for saving data without using any external files. It achieves this by overwritting global variables in the executable file while it is running. If you are curious on how this works and don't want to go through the code, I plan on writting a more detailed document explaining how to get around the roadblocks put in place to prevent exactly this.

Disclamer

This is not a useful project. You should never use this. This was simply made to see if it could be done.

Limitations

At the moment (and probably forever), you can not save pointers (this includes strings). You also can't save data with a different size as the original data. You can kind of get around this by allocating more room than you need, and simply using the larger buffer.

This project only works on linux using ELF32 and ELF64 at the moment, though I'd like to add Windows PE files as well. (If that is even possible lol)