我用 Python3 为 Raspberry Pi 4 做了一个项目,我使用了一些 cli 应用程序。在 ps/htop/top 中,由于一些安全问题,我想隐藏其上使用的命令行。我尝试了 libprocesshider 及其从进程表中隐藏整个进程。并且没有生成/proc/。这对我们的客户来说似乎好多了。
但我无法检查 IsProcessRuning() 来终止前一个实例并启动一个新实例。有没有其他线索可以列出没有 /proc/ 的正在运行的进程?
类似的问题在这里找到,但还没有正确的答案。 列出没有 procfs 的正在运行的进程
libprocesshider https://github.com/gianlucaborello/libprocesshider/blob/master/processhider.c https://sysdig.com/blog/hiding-linux-processes-for-fun-and-profit/
答案1
libprocesshider 仅加载特殊版本的readdir()
,它不会列出 中的指定条目/proc
。要列出所有实体,您可以:
- 绑定挂载进程文件系统其他地方并从那里读取进程信息。
readdir()
使用dlopen()
/加载原始版本dlsym()
。- 直接使用
readdir
系统调用。作为参考,请参阅readdir()
libc 的实现。