定义
libc是Linux下的ANSI C的函数库。
ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。这个库可以根据 头文件划分为 15 个部分,其中包括:字符类型 ()、错误码()、 浮点常数 ()、数学常数 ()、标准定义 ()、 标准 I/O ()、工具函数 ()、字符串操作 ()、 时间和日期 ()、可变参数表 ()、信号 ()、 非局部跳转 ()、本地信息 ()、程序断言 () 等等。这在其他的C语言的IDE中都是有的。
关于pwn题如何加载目标libc的方法
(经常会遇到题目提供libc,但是本地调试的时候加载的是本地libc)
方法一:
添加环境变量的方法:
export LD_LIBRARY_PATH=‘pwd’(当前目录为加载目录)
export LD_PRELOAD=本地libc(加载本地pwn题目下的libc)
在退出前:unset LD_PRELOAD(调试完记得删除环境变量)
注意:(在64位的ubuntu下调试32位程序会导致libc无法加载)
方法二:
p=process([’./bin’],env={“LD_PRELOAD”:"./libc-2.23.so"}([’./bin’]为需要调试的二进制文件名,libc-2.23.so为需要加载的目标libc)
关于获取libc的其他方法
在无libc库