二进制分析
readelf
elf全称为executable and linking format。
查看so信息:readelf -d liboma.so
objdump
ldd
查看可执行文件/动态库的依赖:ldd xx.so
nm
选项
-n按照地址/符号值来排序;-u打印出那些未定义的符号;-l使用对象文件中的调试信息打印出所在源文件及行号;-A在每个符号信息的前面打印所在对象文件名称;
符号类型
A该符号的值在今后的链接中将不再改变;B该符号放在BSS段中,通常是那些未初始化的全局变量;D该符号放在普通的数据段中,通常是那些已经初始化的全局变量;T该符号放在代码段中,通常是那些全局非静态函数;U该符号未定义过,需要自其他对象文件中链接进来;W未明确指定的弱链接符号;同链接的其他对象文件中有它的定义就用上,否则就用一个系统特别指定的默认值。