gpt4 book ai didi

linux - 在共享库中打包可执行文件?

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:16 24 4
gpt4 key购买 nike

是否可以将可执行文件打包到共享库中,并在调用该库中的函数时:

  • 解压可执行文件
  • 通过fork使用可执行文件

我问的原因是因为我最近遇到了一种情况,我的共享库被加载到“沙箱”环境中(可能基于 chroot),我真的很想为一个单独的进程生成一个单独的进程可执行文件(松耦合)。

最佳答案

只要您有权写入未挂载的文件系统上的目录noexec,您就可以将可执行文件存储在一个大型unsigned char数组中code> 用fwrite 写出来,然后用fork/exec 运行。

实际上,最好的解决方案是只使用 fork() 而没有 exec - 只需让子端调用不同的函数在 fork() 之后(然后在该函数完成时使用 _exit() 退出)。

关于linux - 在共享库中打包可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1869949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com