星巡研究院

渗透视角下的C语言

### 2.1.1 干什么 `stdlib.h` 是 C 标准库的通用工具头文件,在 Linux 上由 glibc 提供声明。 它覆盖七类能力:堆内存分配与释放、外部命令执行、进程退出、字符串与整数互转、进程环境表访问、通用排序、伪随机生成。 渗透视角中最常接触的 `system()` 即定义于本库。 它的职责边界是这样的。 `fork`、`execve`、`pipe`、`wait4` 等系统调用本身由 `unistd.h` 声明,`stdlib.h` 只在其上层封装为便捷接口。 本库不直接提供网络套接字、文件读写、信号注册能力,那些由各自头文件承担。 `atoi`、`getenv`、`qsort`、`rand` 全程在用户态完成,不陷入内核。 `malloc/free` 与 `system/popen` 则在用户态管理之上再递交系统调用。 ### 2.1.2 谁在调 * PHP 的 `system`、`exec`、`passthru`、`shell_exec` 内部经 glibc `system()` 走 fork 加 execve 组合执行外部命令。 *
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门