Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Inside ELF: Exploring the Core of Executable Files

Bên trong ELF: Khám phá Cốt lõi của Tệp Thực thi

Bên trong ELF: Khám phá Cốt lõi của Tệp Thực thi

Tìm hiểu về Định dạng Thực thi và Liên kết trong Linux

4.3
(57 đánh giá)
720 học viên
Giảng viên
Linux Trainer
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 889.000đ -94%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
4.5 giờ video
63 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Hiểu sâu về cấu trúc tệp ELF (Executable and Linkable Format).
Kỹ thuật phân tích để mổ xẻ tệp ELF và giải thích nội dung của chúng.
Trải nghiệm thực hành với các ví dụ và hướng dẫn thực tế để củng cố kiến thức về định dạng tệp ELF.
Viết một tệp ELF cực kỳ tối giản

Yêu cầu

Quen thuộc với môi trường hệ điều hành Unix/Linux.
Có máy tính chạy hệ điều hành Unix/Linux để thực hành (khuyến nghị nhưng không bắt buộc).

Đối tượng phù hợp

Dành cho nhà phát triển phần mềm muốn hiểu hoạt động bên trong của tệp thực thi.
Chuyên gia an ninh mạng muốn nâng cao kỹ năng phân tích và bảo mật file nhị phân phần mềm.
Sinh viên khoa học máy tính muốn hiểu sâu hơn về các khái niệm lập trình cấp thấp

Nội dung khóa học

7 phần • 63 bài giảng
1 Giới thiệu
2 Định dạng Thực thi và Liên kết (ELF)
3 Tại sao cần học chi tiết về ELF
4 Quá trình Biên dịch
5 Thay đổi một ký tự trong tệp ELF
1 Thiết lập Phòng thí nghiệm ARM
2 Mã Máy
3 Thực thi Lệnh Máy
4 Tập lệnh
5 Giới thiệu về Hợp ngữ
6 Chương trình Hợp ngữ để ghi vào thanh ghi
7 Tạo Tệp Nhị phân
8 Giao diện QEMU Monitor
9 Chương trình Hợp ngữ tính tổng mảng
10 Chương trình Hợp ngữ tính độ dài chuỗi
11 Giải quyết Ký hiệu
12 Hợp nhất Phần
13 Vị trí Phần
14 Kịch bản Trình liên kết
15 Ví dụ về Kịch bản Trình liên kết
16 Ví dụ về Dữ liệu trong RAM
17 Chỉ định Địa chỉ Nạp
18 Mã khởi động để sao chép dữ liệu vào RAM
19 Xử lý Ngoại lệ
20 Triển khai khởi động C
21 Cập nhật mã khởi động để sử dụng mã C
1 Cấu trúc tệp ELF
2 Lệnh Máy trong Tệp ELF
3 Đầu mục ELF
4 Nhận dạng ELF
5 Các thành viên khác trong Đầu mục ELF
6 Tạo tệp Coredump
7 Điều gì xảy ra khi thay đổi Phiên bản ELF
8 Điều gì xảy ra khi thay đổi Phiên bản Kiến trúc
9 Điều gì xảy ra khi thay đổi trường e_entry
10 Điểm dừng tại _start
11 Ai gọi _start
12 Chương trình C không có main
13 Viết Đầu mục ELF từ Tệp C
14 ELF ARM
1 Giới thiệu về Phần và Đoạn
2 Các Phần ELF
3 Bảng Đầu mục Phần
4 Lệnh dumpelf
5 Các Phần Phổ biến trong Tệp ELF
6 Các Phần Gỡ lỗi
7 Kích thước Phần
8 Lệnh strings
9 Các Phần Ký hiệu
10 Lệnh Strip
11 Loại bỏ Phần
12 Cách thêm phần vào tệp ELF
1 Giới thiệu về Đầu mục Chương trình
2 Cấu trúc Đầu mục Chương trình
3 Sự khác biệt Kích thước BSS trên tệp và bộ nhớ
4 Kernel nạp một tiến trình như thế nào
5 Điều gì xảy ra nếu sửa một bit trong Đầu mục Chương trình
1 Giới thiệu về ELF Tối giản
2 Minh họa ASLR
3 Đoạn và Phần trong file tĩnh
4 Giảm kích thước bằng cách viết hợp ngữ
5 Tệp ELF tối giản viết bằng C
1 Ghi chú

Giới thiệu khóa học

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

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Assembly
Hiển thị tất cả khoá học Low Level Programming
Hiển thị tất cả khoá học Operating Systems & Servers
Hiển thị tất cả khoá học Reverse Engineering
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊