ELF 内部:探索可执行文件的核心
了解 Linux 中的可执行文件和链接格式
讲师:Linux Trainer
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 深入了解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)
-
查看符号表并了解符号解析
-
了解汇编器和链接器的作用
-
链接器执行的重定位操作(节合并和节放置)
-
什么是链接器脚本,编写一个简单的链接器脚本文件并在编译时使用它
-
运行时地址和加载时地址
-
从链接描述文件创建部分
-
编写启动代码,用于将数据复制到 RAM、bss 并初始化堆栈
-
使用 readelf 命令了解 ELF Header
-
如果我改变 ELF 文件的第一个字节会发生什么
-
生成核心转储并验证 ELF Header
-
了解 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 文件格式专家的下一步
本课程适合哪些人:
- 有兴趣了解可执行文件内部工作原理的软件开发人员。
- 网络安全专业人员旨在提高分析和保护软件二进制文件的技能。
- 寻求加深对低级编程概念理解的计算机科学专业学生
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。