1

我正在尝试查找一些二进制文件但遇到奇怪的问题

strace -f ./ioncube_encoder53

它可以跟踪主进程,但是在尝试跟踪子子进程时失败了

clone(Process 22790 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xff4918) = 22790
[pid 22789] waitpid(22790, Process 22789 suspended
 <unfinished ...>
[pid 22790] ptrace(PTRACE_TRACEME, 0, 0, 0) = -1 EPERM (Operation not permitted)

以下是我的环境的详细信息:

[root@alpaca-dev ioncube]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

[root@alpaca-dev ioncube]# getenforce
Disabled

[root@alpaca-dev ioncube]# cat /etc/redhat-release
CentOS release 5.9 (Final)

[root@alpaca-dev ioncube]# uname -a
Linux alpaca-dev.lunarbreeze.com 2.6.18-348.4.1.el5xen #1 SMP Tue Apr 16 17:29:06 EDT 2013 i686 i686 i386 GNU/Linux

我关闭了selinux,在“root”用户下跟踪,跟踪后代进程,我没有发现任何提到进程可以禁止自己跟踪

有任何想法吗 ?

4

1 回答 1

0

从我在这里可以看到:https ://blog.packagecloud.io/eng/2015/11/15/strace-cheat-sheet/ ,如果“strace 不允许附加到系统上的进程”,就会发生这种情况。也许它没有从父级继承一些标志并将它们设置为一些系统默认值(疯狂猜测)。

您可以按照文章开头的步骤禁用该行为并允许跟踪所有已处理的行为。

希望能帮助到你。

于 2017-04-11T13:14:33.470 回答