Riy*_*med 7 c c++ android android-ndk
我想在android中查看共享对象库(so)文件的源代码。我如何将 .so 二进制文件转换为本机 c/c++ 代码。
小智 2
制作so文件的目的是为了不共享源代码,无论是否是android。这是故意这样设计的,以免打开设计。此后,许多公司共享 .so 文件(机器指令)以保持其设计机密。
但是,如果您想知道 .so 文件包含什么内容,您可以阅读该库的 ELF(可执行和可链接格式)。命令
readelf -a yourLibraryName.so > yourLibraryName_elf.txt
输出包含符号表。您可以从生成的文本文件中搜索函数名称、全局变量等。
有关内容的更多详细信息,请访问http://www.skyfree.org/linux/references/ELF_Format.pdf