Inside ELF: Exploring the Core of Executable Files
Linux Trainer
2:41:12
Description
Learn about Executable and Linking Format in Linux
What You'll Learn?
- In-depth understanding of the ELF (Executable and Linkable Format) file structure.
- Analysis techniques to dissect ELF files and interpret their contents.
- Hands-on experience with real-world examples and tutorials to solidify their knowledge of ELF file format.
- Write a very minimal ELF file
Who is this for?
What You Need to Know?
More details
DescriptionThis 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 Linux
ELF 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 course
Learn the inner details of ELF file
Understand 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 QEMU
Understand syntax of Assembly code (Label, instruction, comment, assembler directives)
Different sections: .text, .data, .bss
Viewing ARM Registers in QEMU Monitor Interface
Assembler directives (.byte, .asciiz, .ascii, .align, .global, .text, .data)
Viewing symbol table and understand symbol resolution
Understand the role of assembler and linker
Relocation 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 compiling
Run time addresses and Load time addresses
Creating sections from linker script
Writing a startup code for copying data into RAM, bss and initializing stack
Understanding ELF Header with readelf command
What happens if i change first byte of ELF file
Generate core dump and verify ELF Header
Understand different members of ELF Header
Changing different members of ELF Header
Understand who calls main() using gdb and _start()
Writing a ELF Header from C Code
Sections vs Segments
Linker and Loader view of ELF file
Different readelf commands (readelf -h , readelf -WS, readelf -Wl, readelf -a..)
Understand various fields of section header and program header
dumpelf command to dump ELF structures in C structure format
Write a C Code to print some fields of ELF Section Header
What happens when we compile a user space program with debugging information (-g) inside an ELF file
Use 'size' command to get size of text, data and bss sections
Get deeper understanding of symbol table and what happens when you run 'strip' command
Writing a very minimal ELF executable file with size less than 200KB
There'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 back
So what are you waiting for, enroll now and take the next step in becoming an expert in ELF file format
Who this course is for:
- Software developers interested in understanding the inner workings of executable files.
- Cybersecurity professionals aiming to enhance their skills in analyzing and securing software binaries.
- Computer science students seeking to deepen their understanding of low-level programming concepts
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 Linux
ELF 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 course
Learn the inner details of ELF file
Understand 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 QEMU
Understand syntax of Assembly code (Label, instruction, comment, assembler directives)
Different sections: .text, .data, .bss
Viewing ARM Registers in QEMU Monitor Interface
Assembler directives (.byte, .asciiz, .ascii, .align, .global, .text, .data)
Viewing symbol table and understand symbol resolution
Understand the role of assembler and linker
Relocation 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 compiling
Run time addresses and Load time addresses
Creating sections from linker script
Writing a startup code for copying data into RAM, bss and initializing stack
Understanding ELF Header with readelf command
What happens if i change first byte of ELF file
Generate core dump and verify ELF Header
Understand different members of ELF Header
Changing different members of ELF Header
Understand who calls main() using gdb and _start()
Writing a ELF Header from C Code
Sections vs Segments
Linker and Loader view of ELF file
Different readelf commands (readelf -h , readelf -WS, readelf -Wl, readelf -a..)
Understand various fields of section header and program header
dumpelf command to dump ELF structures in C structure format
Write a C Code to print some fields of ELF Section Header
What happens when we compile a user space program with debugging information (-g) inside an ELF file
Use 'size' command to get size of text, data and bss sections
Get deeper understanding of symbol table and what happens when you run 'strip' command
Writing a very minimal ELF executable file with size less than 200KB
There'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 back
So what are you waiting for, enroll now and take the next step in becoming an expert in ELF file format
Who this course is for:
- Software developers interested in understanding the inner workings of executable files.
- Cybersecurity professionals aiming to enhance their skills in analyzing and securing software binaries.
- Computer science students seeking to deepen their understanding of low-level programming concepts
User Reviews
Rating
Linux Trainer
Instructor's Courses
Udemy
View courses Udemy- language english
- Training sessions 34
- duration 2:41:12
- Release Date 2024/05/17