/cryload

Elf loader for cryptor project

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

cryload

cryload was created for cryptor, program to compress and encrypt x86_64 elf files. cryptor create new elf file from given, its structure is:

Elf headers
Cryload
Compressed and encrypted elf file
256 byte of random data

Cryload is loader for encrypted and compressed x86_64 elf files. Loader finds compressed and encrypted elf file, then decrypt and decompress it. After that loader puts elf file in the right place in memory and jump to its entry point. Buffer at the end is used for aes key and iv initialization with linear congruential generator. For compression huffman encoding is used. For encryption aes is used.

AES implementation

I use kokke's tiny-AES-c implementation.

load_elf

I use bediger's load_elf implementation.

syscalls implementation

I use musl-libc syscalls implementation.