Inside ELF: Exploring the Core of Executable Files

所在平台: Udemy

课程主页: https://www.udemy.com/course/elf-in-deep/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**Inside ELF:探索可执行文件的核心** 本课程将带您深入了解 Linux 可执行文件格式(ELF),这是类 Unix 操作系统中可执行文件、目标代码、共享库和核心转储的标准二进制格式。 **您将学到:** * **ELF 文件内部细节:** 掌握 ELF 文件的结构、段、头部和动态链接机制。 * **编译过程:** 理解预处理、编译、汇编和链接等各个阶段。 * **机器码/操作码 (Opcode):** 了解机器码的含义。 * **ARM 汇编:** 学习编写 ARM 汇编代码并在 QEMU 上运行。 * **汇编语法:** 掌握标签、指令、注释和汇编器指令的语法。 * **ELF 各个段:** 了解 `.text`、`.data` 和 `.bss` 段的作用。 * **QEMU Monitor Interface:** 查看 ARM 寄存器。 * **汇编器指令:** 学习 `.byte`、`.asciiz`、`.ascii`、`.align`、`.global`、`.text`、`.data` 等指令。 * **符号表:** 查看符号表并理解符号解析。 * **汇编器与链接器:** 了解它们的作用以及重定位操作(段合并与段放置)。 * **链接器脚本:** 学习编写和使用简单的链接器脚本。 * **运行时地址与加载时地址:** 理解它们之间的区别。 * **创建段:** 通过链接器脚本创建新的段。 * **启动代码:** 编写启动代码以将数据复制到 RAM、BSS 并初始化栈。 * **ELF 头部:** 使用 `readelf` 命令理解 ELF 头部。 * ** ELF 文件修改:** 了解修改 ELF 文件头部(如第一个字节)会发生什么。 * **核心转储:** 生成核心转储并验证 ELF 头部。 * **ELF 头部成员:** 深入了解 ELF 头部中的各个字段。 * **`main()` 与 `_start()`:** 使用 GDB 了解 `main()` 如何被调用。 * **从 C 代码编写 ELF 头部:** 学习如何用 C 语言实现 ELF 头部。 * **段与段(Sections vs Segments):** 理解它们的区别。 * **链接器与加载器视角:** 从不同角度看待 ELF 文件。 * **`readelf` 命令:** 掌握 `readelf -h`, `readelf -WS`, `readelf -Wl`, `readelf -a..` 等命令。 * **段头部与程序头部:** 理解它们各自的字段。 * **`dumpelf` 命令:** 以 C 结构体形式转储 ELF 结构。 * **C 代码分析 ELF:** 编写 C 代码打印 ELF 段头部字段。 * **调试信息:** 了解编译时加入 `-g` 选项对 ELF 文件的影响。 * **`size` 命令:** 使用 `size` 命令获取 text、data 和 bss 段的大小。 * **符号表与 `strip` 命令:** 深入理解符号表以及 `strip` 命令的作用。 * **极简 ELF 可执行文件:** 编写大小小于 200KB 的 ELF 可执行文件。 **保证:** 本课程提供 30 天退款保证。 **立即报名,成为 ELF 文件格式专家!**

课程评论(0条)

课程详情

This comprehensive course will take you step-by-step through engaging video tutorials and teach you all the essential concepts and topics you need to understand about Linux Executable Format: ELF in LinuxELF is the standard binary format for executables, object code, shared libraries, and core dumps on Unix-like operating systems. In this course, we unravel the intricacies of ELF, exploring its structure, sections, headers, and dynamic linking mechanisms.What will you learn in this courseLearn the inner details of ELF fileUnderstand different stages of Compilation Process (Pre-processing, compiling, Assembling, Linking)Understand what is machine code or operation code (opcode)Write ARM assembly code and run on QEMUUnderstand syntax of Assembly code (Label, instruction, comment, assembler directives)Different sections:.text,.data,.bssViewing ARM Registers in QEMU Monitor InterfaceAssembler directives (.byte,.asciiz,.ascii,.align,.global,.text,.data)Viewing symbol table and understand symbol resolutionUnderstand the role of assembler and linkerRelocation operation performed by Linker (Section Merging and Section Placement)What is a Linker Script and write a simple linker script file and use it while compilingRun time addresses and Load time addressesCreating sections from linker scriptWriting a startup code for copying data into RAM, bss and initializing stackUnderstanding ELF Header with readelf commandWhat happens if i change first byte of ELF fileGenerate core dump and verify ELF HeaderUnderstand different members of ELF HeaderChanging different members of ELF HeaderUnderstand who calls main() using gdb and _start()Writing a ELF Header from C CodeSections vs SegmentsLinker and Loader view of ELF fileDifferent readelf commands (readelf -h , readelf -WS, readelf -Wl, readelf -a..)Understand various fields of section header and program headerdumpelf command to dump ELF structures in C structure formatWrite a C Code to print some fields of ELF Section HeaderWhat happens when we compile a user space program with debugging information (-g) inside an ELF fileUse 'size' command to get size of text, data and bss sectionsGet deeper understanding of symbol table and what happens when you run 'strip' commandWriting a very minimal ELF executable file with size less than 200KBThere's no risk either!This course comes with a 30 day money back guaranteed!. If you are not satisfied with the course, you'll get your money backSo what are you waiting for, enroll now and take the next step in becoming an expert in ELF file format

课程标签

0人关注该课程

主题相关的课程