Где-то я видел упоминание о том, что можно «эмулировать» execve (в основном с помощью open и mmap), чтобы загрузить какой-то другой двоичный файл (без фактического системного вызова «execve»).
- Есть ли уже реализованные примеры для него?
- Можем ли мы загружать как статические, так и динамические двоичные файлы?
- Можно ли это сделать портативно?
Такая функция может быть полезна для делегирования работы произвольным двоичным файлам игнорирования битов файловой системы или с установленной политикой seccomp, не разрешающей фактическое выполнение.
mmap()
отменить сопоставление того, что уже есть, и вместо этого сопоставить что-то другое. - person Celada   schedule 16.03.2013dlopen
не справляется с этим.dlsym
также будет предполагать, что вы хотите, чтобы символы в целевом файле были связаны с текущим исполняемым двоичным файлом, а в данном случае это не то, что вам нужно. Я предполагаю, что вы, вероятно, захотите использовать libelf. - person Celada   schedule 16.03.2013/proc/self/exe
безexecve
. - person Basile Starynkevitch   schedule 16.03.2013