查看LIBC版本

如果题目提供了.so文件,可以尝试直接从.so文件中获取GLIBC的版本

strings .so | grep "GLIBC"

如果要查看系统当前的链接库情况可以如下命令

ldd --version

如果要查看题目的链接信息,可以如下命令

syc@ubuntu:~/Downloads/works$ ldd ./warmup_csaw_2016 
	linux-vdso.so.1 (0x00007ffed0313000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1eb69ea000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f1eb6bed000)
  • 第一列:程序需要依赖什么库
  • 第二列: 系统提供的与程序需要的库所对应的库
  • 第三列:库加载的开始地址

通过上面的信息,我们可以得到以下几个信息:

  • 通过对比第一列和第二列,我们可以分析程序需要依赖的库和系统实际提供的,是否相匹配
  • 通过观察第三列,我们可以知道在当前的库中的符号在对应的进程的地址空间中的开始位置

猜你喜欢

转载自blog.csdn.net/kelxLZ/article/details/124955354