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.
I use kokke's tiny-AES-c implementation.
I use bediger's load_elf implementation.
I use musl-libc syscalls implementation.