深入了解 ELF:探索可执行文件的核心
Inside ELF: Exploring the Core of Executable Files
了解 Linux 中的可执行文件和链接格式
学习内容
-
对ELF(可执行和可链接格式)文件结构有深入的理解。
-
剖析 ELF 文件并解释其内容的分析技术。
-
通过真实世界的示例和教程获得实践经验,以巩固他们对 ELF 文件格式的了解。
-
编写一个非常小的 ELF 文件
要求
-
熟悉Unix/Linux操作系统环境。
-
使用基于 Unix/Linux 的操作系统的计算机进行动手练习(推荐,但不是强制性的)。
描述
这门综合课程将引导您逐步完成引人入胜的视频教程,并教您需要了解的有关 Linux 可执行文件格式的所有基本概念和主题:Linux 中的 ELF
ELF 是类 Unix 操作系统上可执行文件、目标代码、共享库和核心转储的标准二进制格式。在本课程中,我们将解开 ELF 的复杂性,探索其结构、部分、标题和动态链接机制。
您将在这门课程中学到什么
-
了解 ELF 文件的内部详细信息
-
了解编译过程的不同阶段(预处理、编译、组装、链接)
-
了解什么是机器码或操作码(opcode)
-
编写 ARM 汇编代码并在 QEMU 上运行
-
理解汇编代码的语法(标签、指令、注释、汇编器指令)
-
不同的部分:.text、.data、.bss
-
在 QEMU 监视器界面中查看 ARM 寄存器
-
汇编程序指令(.byte、.asciiz、.ascii、.align、.global、.text、.data)
-
查看符号表并了解符号分辨率
-
了解汇编程序和链接器的角色
-
Linker 执行的搬迁操作(Section Merging 和 Section Placement)
-
什么是链接器脚本,并编写一个简单的链接器脚本文件并在编译时使用它
-
运行时间地址和加载时间地址
-
从链接器脚本创建节
-
编写用于将数据复制到 RAM、bss 和初始化堆栈的启动代码
-
使用 readelf 命令了解 ELF 头文件
-
如果我更改 ELF 文件的第一个字节会发生什么
-
生成核心转储并验证 ELF 标头
-
了解 ELF Header 的不同成员
-
更改 ELF Header 的不同成员
-
了解谁使用 gdb 和 _start() 调用 main()
-
从 C 代码编写 ELF 头文件
-
部分与段
-
ELF 文件的链接器和加载器视图
-
不同的 readelf 命令 (readelf -h , readelf -WS, readelf -Wl, readelf -a..)
-
了解节标题和程序标题的各种字段
-
dumpelf 命令以 C 结构格式转储 ELF 结构
-
编写 C 代码以打印 ELF Section Header 的一些字段
-
当我们在 ELF 文件内使用调试信息 (-g) 编译用户空间程序时会发生什么
-
使用“size”命令获取文本、数据和 bss 部分的大小
-
更深入地了解符号表以及运行“strip”命令时会发生什么
-
编写一个非常小的 ELF 可执行文件,大小小于 200KB
也没有风险!
本课程保证 30 天退款! 如果您对课程不满意,您将退还您的钱
那么,您还在等什么,立即注册并迈出成为 ELF 文件格式专家的下一步
本课程适合谁:
- 对了解可执行文件的内部工作原理感兴趣的软件开发人员。
- 网络安全专业人员,旨在提高他们在分析和保护软件二进制文件方面的技能。
- 寻求加深对低级编程概念理解的计算机科学专业学生
2024-10-14 更新 遗漏的文件
评论(0)