我想在我的服务器上执行任意(可能很危险)的二进制文件。因此,我习惯objcopy
将“main”符号重命名为“other_main”,这样我就可以链接到我自己的小型 main 函数中,该函数设置适当的值并在调用 other_main 之前RLIMIT_CPU
切换标志。SECCOMP
到目前为止,我对这个解决方案非常满意。
现在的问题是,第 3 方程序代码可能包含一些对 malloc 的调用,这些调用可能会立即终止程序(不允许使用 sbrk)。因此,我想在设置SECCOMP
malloc / realloc / calloc / free 之前预先分配一些合理大小的数组(例如 20MB)。不幸的是,我不知道如何归档最后一步。我必须自己实现所有这 4 个功能吗?如何将我自己的函数注入到 stdlib(例如,当 printf 在内部调用 malloc 时会发生什么?)。