Companies Home Search Profile

Inside ELF: Exploring the Core of Executable Files

Focused View

Linux Trainer

2:41:12

8 View
  • 1. Introduction.mp4
    00:49
  • 2. Executable and Linkable Format.mp4
    03:25
  • 3. Why Learn Details of ELF.mp4
    02:11
  • 4. Compilation Process.mp4
    11:09
  • 5. Changing one character in ELF file.mp4
    04:21
  • 1. Setting Up ARM Lab.mp4
    02:36
  • 2. Machine Code.mp4
    03:32
  • 3. Executing Machine Instructions.mp4
    09:23
  • 4. Instruction Set.mp4
    03:00
  • 5. Introduction to Assembly.mp4
    03:10
  • 6. Assembly Program to write to registers.mp4
    05:37
  • 7. Generating Binary Files.mp4
    05:40
  • 8. QEMU Monitor Interface.mp4
    03:53
  • 9. Assembly Programs for sum of an array.mp4
    09:26
  • 10. Assembly Program for Length of a string.mp4
    07:16
  • 11. Symbol Resolution.mp4
    06:05
  • 12. Section Merging.mp4
    06:48
  • 13. Section Placement.mp4
    05:26
  • 14. Linker Script.mp4
    02:42
  • 15. Example of Linker Script.mp4
    03:00
  • 16. Example of Data in RAM.mp4
    03:57
  • 17. Specifying Load Addresses.mp4
    03:36
  • 18. Startup code for copying data into RAM.mp4
    05:35
  • 19. Handling Exceptions.mp4
    02:28
  • 20. C startup implementation.mp4
    05:34
  • 21. Updating startup code for using C Code.mp4
    10:16
  • 1. Structure of an ELF file.mp4
    02:20
  • 2. Machine Instructions in ELF File.mp4
    02:21
  • 3. ELF Header.mp4
    09:21
  • 4. ELF Identification.mp4
    06:33
  • 5. Other members in ELF Header.mp4
    03:08
  • 6. Generating Coredump files.mp4
    02:18
  • 7. What happens when we change ELF Version.mp4
    01:08
  • 8. What happens when we change Architecture Version.mp4
    03:08
  • 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?


  • 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
  • What You Need to Know?


  • Familiarity with the Unix/Linux operating system environment.
  • Access to a computer with a Unix/Linux-based operating system for hands-on exercises (recommended but not mandatory).
  • More details


    Description

    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
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Linux Trainer
    Linux Trainer
    Instructor's Courses
    I have been working on Linux for more than 7 years. I have seen many people still lack their skills on Linux. So, i am working on courses for Linux which will make them Learn Linux in an easy way. The agenda of my courses will be more practical and less theoretical. Show more examples and you will easily grab the concepts. Order of Learning1. Learn Linux User Space Debugging2. Learn Linux Kernel Programming3. Character Device Drivers in Deep4. Memory management in Linux Kernel5. Synchronization in Linux Kernel Programming6. Linux Kernel Development Model and Compilation7. Linux Device Drivers - Communicating with Hardware8. Interrupts and Bottom Halves in Linux Kernel9. System calls in deep10. Timing Subsystem in deep11. Embedded Linux using Yocto12. Embedded Linux using Yocto Part 213. Embedded Linux using Yocto Part 314. Embedded Linux using Yocto Part 415. Testing Linux Kernel16. Debugging Linux kernel in deep - Part 117. Debugging Linux kernel in deep - Part 2
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 34
    • duration 2:41:12
    • Release Date 2024/05/17

    Courses related to Linux