反汇编共享对象文件上的符号

时间:2018-02-10 11:09:07

标签: debugging gcc compilation android-ndk disassembly

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

我尝试使用'objdump'并创建了一个反汇编版本,我可以看到类似于< _ZNSt6__ndk113__vector_func7_some_other_text @ plt>这看起来像地址前的功能标签。

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

1 个答案:

答案 0 :(得分:0)

您无法从共享库中删除所有符号,因为它们位于共享库中 动态链接需要动态符号表。

您可以使用以下内容删除所有其他符号:

strip --strip-all ./libfoo.so

或:

strip --strip-unneeded ./libfoo.so

--strip-all看起来好像应该删除所有符号,并在应用时执行 对于不是共享库的文件,但strip理解无意义 从共享库中删除动态符号表。