V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
zhouheyang0919

写了一个简单的 Linux 下跟踪 execve 的工具

  •  
  •   zhouheyang0919 ·
    losfair · Aug 1, 2016 · 3064 views
    This topic created in 3560 days ago, the information mentioned may be changed or developed.
    看了一下有 strace 这样重量级的工具,但是在一些简单的情况下并不是很合适。因此自己写了一个跟踪 exec 的共享库。
    编译: gcc -fPIC -shared -o exec_logger.so exec_logger.c
    使用: LD_PRELOAD=./exec_logger.so your_command
    (即定义 LD_PRELOAD 环境变量)

    3 replies    2016-08-03 18:13:23 +08:00
    itfanr
        1
    itfanr  
       Aug 1, 2016
    mark ,我用 strace 和 pstack
    hitmanx
        2
    hitmanx  
       Aug 3, 2016
    fd 好像忘了 close 了。另外我没太看懂这个 hook 究竟能干啥,感觉只是把当前的命令行 print 出来?如果不能把我的系统调用打印出来那就文不对题了,如果能打印出来那么是怎么做到的, ld_preload + __attribute__((constructor))毕竟只执行一次啊。能不能解释一下
    hitmanx
        3
    hitmanx  
       Aug 3, 2016 via iPhone
    再看了一遍标题发现理解错了,这个是追踪 exec 函数簇产生的子进程的吧,这就合理多了。开始光注意到 strace 以为是追踪所有系统调用的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2404 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:10 · PVG 10:10 · LAX 19:10 · JFK 22:10
    ♥ Do have faith in what you're doing.