【问题标题】:Disassemble symbols on shared object file反汇编共享对象文件上的符号
【发布时间】:2018-02-10 11:09:06
【问题描述】:

我有一个使用 Android-NDK 构建的共享对象 xlib.so 文件,我需要提供该文件。我不希望它被逆向工程。

我尝试使用 'objdump' 并创建了一个反汇编版本,我可以在其中看到类似 <_znst6__ndk113__vector_func7_some_other_text> 的内容,这看起来像是地址前面的函数标签。

我是否也可以摆脱这些信息,所以一旦有人试图反汇编 .so 文件,他除了纯汇编之外什么都看不到?

【问题讨论】:

    标签: debugging gcc compilation android-ndk disassembly


    【解决方案1】:

    您不能从共享库中删除 所有 符号,因为 动态链接需要动态符号表。

    您可以使用以下方法去除所有其他符号:

    strip --strip-all ./libfoo.so
    

    或:

    strip --strip-unneeded ./libfoo.so
    

    --strip-all 看起来好像应该去除 所有 符号,并且在应用时会这样做 到不是共享库的文件,但strip 理解毫无意义 从共享库中删除动态符号表。

    【讨论】:

    • 好的,知道了!谢谢
    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多