版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/
readelf 介绍
readelf 是 GNU Binutils 提供的一个命令行工具,专门用于读取 ELF(Executable and Linkable Format)文件的结构信息。
readelf 文档:https://man7.org/linux/man-pages/man1/readelf.1.html
GNU Binutils
GNU Binutils(GNU Binary Utilities)是一套由 GNU 项目维护的二进制文件处理工具集,主要用于编译、链接、反汇编、调试等场景。
它是 GCC(GNU Compiler Collection)的重要配套组件之一,处理从编译生成的目标文件到最终可执行文件的各个阶段。
主要工具:
| 工具 | 作用 |
|---|---|
| as | GNU 汇编器(GNU Assembler),把 .s 汇编代码编译成 .o 目标文件 |
| ld | GNU 链接器(GNU Linker),把多个 .o 文件和库打包成可执行文件或共享库 |
| ar | 归档工具(创建/修改 .a 静态库) |
| nm | 显示符号表(Symbol Table) |
| objdump | 显示目标文件内容(反汇编、节表、符号、重定位等) |
| objcopy | 复制并转换目标文件格式(可用于提取或删除节) |
| readelf | 专门查看 ELF 文件结构(文件头、节表、符号等) |
| strip | 删除二进制文件中的符号信息(瘦身/混淆) |
| strings | 搜索二进制文件中的可打印字符串 |
| size | 显示目标文件中各段的大小(text/data/bss) |
| ranlib | 为 .a 静态库生成索引(方便快速链接) |
Windows 下使用 readelf
虽然 readelf 工具本身是为 Unix-like 操作系统设计的,在 Windows 上通过 WSL 使用它。WSL 允许你在 Windows 上运行 Linux 发行版,并且可以在其中使用 readelf 工具。
打开 PowerShell 以管理员身份运行,并执行以下命令启用 WSL 并安装 Ubuntu 系统
wsl --install -d Ubuntu
然后设置用户账户和密码。

通过 wsl 命令进入 Ubuntu 系统。
(base) PS E:\> wsl
wsl: Unknown key 'wsl2.memory' in /etc/wsl.conf:5
wsl: Unknown key 'wsl2.swap' in /etc/wsl.conf:6
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。
wsl: Processing /etc/fstab with mount -a failed.
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.153.1-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
This message is shown once a day. To disable it please create the
/home/cyrus/.hushlogin file.
cyrus@*:/mnt/e$ cd /mnt/d/Python/anti-app

最低0.47元/天 解锁文章
1024

被折叠的 条评论
为什么被折叠?



