Создание упаковщика x86_64 ELF файлов под linux
Введение
В данном посте будет описано создание простого упаковщика исполняемых файлов под linux x86_64. Предполагается, что читатель знаком с языком программирования си, языком ассемблера для архитектуры x86_64 и с устройством ELF файлов. В целях обеспечения ясности из приведённого в статье кода была убрана обработка ошибок и не были показаны реализации некоторых функций, с полным кодом можно ознакомится перейдя по ссылкам на github (загрузчик, упаковщик).
Идея состоит в следующем — мы передаём упаковщику ELF файл, на выходе получаем новый со следующей структурой:
| ELF заголовок | |
| Заголовок программы | |
| Сегмент с кодом | Загрузчик упакованных ELF файлов |
| Упакованный ELF файл |
|
| 256 байт случайных данных | |



Пришло время продемонстрировать как криптографический АРМ на базе стандартов с открытым ключом 




В WinAPI есть функция 






