Reputation: 119
I want to see source code of shared object library (so) file in android. how can i convert .so binary file to native c/c++ code.
Upvotes: 7
Views: 13932
Reputation: 21
The purpose of making an so file is to NOT share the source code, no matter if it is android or not. This is intentionally designed this way so as not to open the design. Following this, many firms share .so file (machine instructions) keeping their design confidential.
However, if you are keen to know what the .so file contains, you may read the ELF (Executable and Linkable Format) of the library. command
readelf -a yourLibraryName.so > yourLibraryName_elf.txt
The output contains symbol table. You may search for the function names, global variables etc from the generated text file.
More details of the contects here http://www.skyfree.org/linux/references/ELF_Format.pdf
Upvotes: 2