我想在android中看到共享对象库(so)文件的源代码。如何将.so二进制文件转换为本机c / c ++代码。
答案 0 :(得分:0)
制作一个so文件的目的是不共享源代码,无论它是否为android。 这种方式是有意设计的,以免打开设计。 此后,许多公司共享.so文件(机器指令)以使他们的设计保密。
但是,如果您想知道.so文件包含的内容,则可以阅读该库的ELF(可执行和可链接格式)。 命令
readelf -a yourLibraryName.so > yourLibraryName_elf.txt
输出包含符号表。您可以从生成的文本文件中搜索函数名称,全局变量等。
此处的更多详细信息http://www.skyfree.org/linux/references/ELF_Format.pdf