美文网首页
使用题目给定的libc动态调试

使用题目给定的libc动态调试

作者: HAPPYers | 来源:发表于2019-08-01 17:19 被阅读0次

    安装

    sudo apt install patchelf
    

    使用

    patchelf --set-interpreter <libc_symbol_path> <file_name>
    
    LD_PRELOAD=<libc_name> <filename>
    

    注:<libc_name>要放在/lib/<linux-gun>/目录下
    例如

    patchelf --set-rpath "$(pwd)" ./foo
    

    这样RUNPATH就被加进foo了。但是这里的RUNPATH还是绝对路径的方式写入程序的。

    我们可以用

    readelf  -d foo
    ldd ./foo
    

    查看路径

    清除原有程序的链接路径

    patchelf --shrink-rpath foo
    

    设置链接路径为程序运行的相对路径(推荐)

    patchelf --set-rpath '$ORIGIN/' foo
    

    相关文章

      网友评论

          本文标题:使用题目给定的libc动态调试

          本文链接:https://www.haomeiwen.com/subject/fascdctx.html