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

Reverse Engineering Bootcamp:Ghidra, IDA, Linux, and x86_64

Trại huấn luyện Dịch ngược: Ghidra, IDA, Linux và x86_64

Trại huấn luyện Dịch ngược: Ghidra, IDA, Linux và x86_64

Dịch ngược thực chiến với Ghidra, IDA, NASM, ARM, X86, Lập trình cấp thấp - Phòng thủ & Tấn công Malware A-Z

4.4
(419 đánh giá)
63,086 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 1.099.000đ -95%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
18.0 giờ video
106 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 02/07/2026

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

Lý thuyết về dịch ngược (disassembly) và vai trò của nó trong reverse engineering.
Bốn giai đoạn phân tích nhị phân: Tiền xử lý, Biên dịch, Hợp ngữ và Liên kết.
Phân tích quy trình biên dịch và mục đích của từng giai đoạn.
Làm việc với thông tin biểu tượng (symbolic information) trong các tệp nhị phân đã bỏ ký hiệu (stripped) và chưa bỏ ký hiệu (not stripped).
Cách các tệp thực thi nhị phân tải và thực thi.
Cài đặt và kiến thức cơ bản về Ghidra, công cụ dành cho reverse engineering.
Cài đặt Bộ phát triển Java (JDK) cho Ghidra.
Điều hướng và sử dụng Ghidra để phân tích dự án.
Phân tích mã độc (malware) thực tế bằng Ghidra.
Kỹ năng dịch ngược thực tiễn thông qua phân tích mã độc thực hành.
Viết chương trình hợp ngữ (assembly) 64-bit để hiển thị "Hello, world!" dùng makefile.
Cài đặt và thiết lập trình hợp ngữ SASM để lập trình assembly.
Hiểu ưu điểm của NASM (Netwide Assembler) và so sánh với các trình hợp ngữ khác.
Tạo chương trình "Hello, world!" cơ bản bằng assembly mà không cần makefile.
Khám phá lý thuyết về dịch ngược (disassembly) và các trình tháo gỡ (disassembler) trong reverse engineering.
Phân tích các nguyên tắc cơ bản của dịch ngược và tầm quan trọng của nó.
Tìm hiểu sâu về các kiểu dữ liệu khác nhau và cách biểu diễn chúng trong hợp ngữ.
Hiểu về kiến trúc CPU, tệp nhị phân và mối quan hệ giữa chúng.
Chuyển đổi số thập phân sang nhị phân bằng các phép toán cơ bản trong assembly.
Bắt đầu gỡ lỗi (debugging) với gdb (GNU Debugger) và cấu hình các loại gỡ lỗi (debugging flavors).
Kỹ thuật gỡ lỗi để định vị và kiểm tra biến trong địa chỉ bộ nhớ.
Mở rộng kiến thức về các chức năng của gdb cho các tình huống gỡ lỗi nâng cao.
Viết chương trình assembly 64-bit thứ hai, tạo mã nguồn và sinh makefile.
Phân tích đầu ra chương trình bằng gdb và xây dựng makefile cho mã assembly.
Khám phá phân tích nhị phân và hiểu bốn giai đoạn biên dịch.
Tìm hiểu về các pha tiền xử lý, biên dịch, hợp ngữ và liên kết trong quá trình biên dịch chương trình.
Phân biệt giữa các tệp nhị phân có biểu tượng (symbols), đã bỏ ký hiệu và chưa bỏ ký hiệu.
Sử dụng READELF để xem thông tin biểu tượng trong tệp nhị phân và tệp đối tượng (object files).
Tiết lộ nội dung của tệp đối tượng và thử phân tích tệp thực thi nhị phân.
Hiểu lý thuyết về cách tệp nhị phân tải và thực thi.
Khám phá Định dạng Liên kết và Thực thi (ELF) dùng trong các tệp thực thi Linux, tập trung vào phần header thực thi.
Tìm hiểu về các trường của ELF và các trường của header chương trình ELF.
Hiểu các khái niệm cơ bản về định dạng PE (Portable Executable) của Windows dùng trong các tệp thực thi của Windows.
Làm chủ các phép toán logic bit (bitwise): OR, XOR, NOT và AND.
Áp dụng logic OR để thao tác dữ liệu và thực hiện phép toán bit.
Triển khai logic NOT để đảo ngược bit trong lập trình assembly.
Khám phá logic XOR và các ứng dụng của nó trong thao tác dữ liệu.
Hiểu logic AND và cách dùng nó để che dấu (masking) và lọc bit.
Sử dụng Trình gỡ lỗi Hiển thị Dữ liệu (DDD) để phân tích chương trình assembly.
Phát triển chương trình assembly để phân tích bằng DDD và hiểu quy trình gỡ lỗi.
Phân tích giá trị thanh ghi RAX bằng DDD và gdb.
Làm chủ luồng điều khiển với các lệnh nhảy và lặp trong assembly.
Tìm hiểu về các lỗi thường gặp trong lập trình assembly và cách giải quyết.
Dùng câu lệnh điều kiện và lệnh nhảy để điều khiển luồng chương trình.
Triển khai lệnh nhảy dựa trên điều kiện bằng nhau.
Hiểu lệnh nhảy cho điều kiện không bằng nhau.
Sử dụng lệnh nhảy cho so sánh với giá trị lớn hơn.
Triển khai lệnh nhảy cho điều kiện lớn hơn hoặc bằng.
Dùng lệnh nhảy cho so sánh với giá trị nhỏ hơn.
Triển khai lệnh nhảy cho điều kiện nhỏ hơn hoặc bằng.
Phát triển dự án assembly sử dụng hiệu quả lệnh nhảy và lặp.
Tạo dự án máy tính tính toán bằng hợp ngữ để thực hiện các phép toán số học.
Định nghĩa biến và cấp phát bộ nhớ trong lập trình assembly.
Triển khai phép cộng và trừ trong hợp ngữ.
Thêm các điểm nhấn và trang trí cuối cùng cho dự án assembly.
Giải thích việc sử dụng thực tế các thanh ghi trong lập trình assembly.
Hoàn thành các dự án assembly với trọng tâm là tối ưu hóa và hiệu quả.
Sử dụng kỹ thuật thao tác bộ nhớ để tương tác với cấu trúc dữ liệu.
Khám phá một dự án nâng cao hơn có tên "EXABYTE" liên quan đến thao tác bộ nhớ.
Kiểm tra và phân tích dự án bằng các công cụ như Readelf và GDB để xác minh và gỡ lỗi.

Yêu cầu

Kỹ năng máy tính cơ bản

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

Dành cho tất cả mọi người muốn học reverse engineering

Nội dung khóa học

27 phần • 105 bài giảng
1 Giới thiệu
2 Cách máy tính giao tiếp
3 Chuẩn bị môi trường phát triển
4 Điều gì xảy ra khi bạn sử dụng máy tính
1 Cách phép cộng diễn ra trong hệ thập phân
2 Phép cộng số học trong số nguyên không dấu
3 Phép trừ trong hệ thập phân
4 Phép trừ số học trong số nguyên không dấu
5 Phép trừ số học trong số nguyên có dấu (Số âm trong nhị phân)
6 Đại số Boolean cho tính toán cấp thấp
1 Giới thiệu về Điện tử cho Kỹ sư Phần cứng-1
2 Cổng logic và triển khai phần cứng của chúng
3 Tụ điện và triển khai trong mạch điện
4 Tại sao lại dùng cuộn cảm trên bo mạch chủ?
5 Tiêu thụ điện năng và Transistor
6 Transistor MOSFET
7 Công tắc CMOS trong CPU
1 Giới thiệu về mạch logic
2 Bộ cộng đầy đủ (Full Adders)
3 NAND và NOR
1 Nếu bạn biết Reverse Engineering, mọi thứ đều là Mã nguồn Mở
2 Lý thuyết Dịch ngược
3 Dịch ngược - Là gì
1 Phân tích mã nhị phân và 4 giai đoạn biên dịch
2 Tiền xử lý
3 Giai đoạn biên dịch
4 Giai đoạn hợp ngữ
5 Giai đoạn liên kết
1 Khám phá Định dạng Liên kết và Thực thi (ELF) và Header thực thi
2 Tìm hiểu các trường của ELF
3 Tìm hiểu các trường của Header chương trình ELF
1 Kiến thức cơ bản về định dạng PE của Windows
1 Sử dụng READELF để xem thông tin biểu tượng
2 Tiết lộ nội dung của tệp đối tượng
3 Thử phân tích tệp thực thi nhị phân
4 Cách tệp nhị phân tải và thực thi trong lý thuyết
1 Tải xuống Ghidra và cấu trúc tệp
2 Cài đặt JDK trong Linux
3 Cài đặt JDK trong Windows hoặc MacOS
4 Cài đặt SASM
1 Hello world với makefile
2 Tại sao NASM là tốt nhất và so sánh các trình hợp ngữ
3 Giữ truyền thống - Chương trình hello world không cần makefile
1 Hiểu về kiến trúc CPU và các tệp nhị phân
2 Chuyển đổi thập phân sang nhị phân với toán cơ bản
1 Bắt đầu gdb và thiết lập flavors
2 Gỡ lỗi và tìm biến trong địa chỉ bộ nhớ
3 Học thêm với GDB
1 Viết mã ASM
2 Phân tích đầu ra với GDB và tạo makefile
1 Phép OR
2 NOT
3 XOR
4 AND
1 Phát triển một chương trình Assembly khác để phân tích bằng DDD
2 Phân tích mã đã viết trước đó
3 Sử dụng DDD và phân tích giá trị RAX
1 Dùng điều kiện và nhảy
2 Nhảy nếu bằng
3 Nhảy nếu không bằng
4 Nhảy nếu lớn hơn
5 Lớn hơn hoặc bằng
6 Nhảy nếu nhỏ hơn
7 Nhảy nếu nhỏ hơn hoặc bằng
8 Nhảy nếu ở trên (A)
9 Nhảy nếu ở trên hoặc bằng (AE)
10 Nhảy nếu ở dưới (B)
11 Nhảy nếu ở dưới hoặc bằng (BE)
1 Phát triển dự án Vòng lặp và Máy tính bằng Assembly
2 Kiểm tra dự án của chúng ta
1 Dự án EXABYTE
2 Kiểm tra và Phân tích Dự án bằng Readelf và GDB
1 Định nghĩa biến
2 Phép cộng và phép trừ
3 Những trang trí cuối cùng
4 Giải thích về thanh ghi trong thực tế
5 Hoàn thành phần
1 Mở dự án trong Ghidra
2 Khám phá Ghidra
1 Hiểu cách Ghidra hoạt động và các bước quan trọng khác cần làm
2 Bộ phân tích của Ghidra và Giao diện người dùng
3 Tùy chỉnh Ghidra và Đồ thị
4 Làm quen với Thanh Menu Trên cùng của Ghidra
1 Giới thiệu về Tính toán cấp thấp
2 Từ Ký tự đến Bit
3 Tạo CPU Kiến trúc Tập lệnh (ISA) của riêng chúng ta
1 Reverse Engineering & Phân tích mã độc
2 5 Bước Quan trọng trong Reverse Engineering và Phân tích mã độc
3 Môi trường Ảo hóa cho Công việc của chúng ta
4 Sử dụng Công cụ Tích hợp sẵn để Phân tích Hệ thống
1 Thanh ghi
2 Cờ (Flags)
3 Định địa chỉ bộ nhớ và Endianess
4 Đọc và hiểu Assembly
5 Opcode (Mã lệnh)
6 Thao tác Bộ nhớ
1 Bắt đầu Phân tích mã độc thực tế với Ghidra
2 Phân tích chuỗi đáng ngờ bằng Ghidra
3 OSINT cho Reverse Engineering
4 Phân tích các thư viện mà mã độc sử dụng
5 Trích xuất tệp SYS từ mã độc
6 Tìm điểm vào và đổi tên các hàm chưa xác định
1 Tải về và Cài đặt IDA Pro _ IDA Freeware
2 Làm bạn với IDA
3 Các tab hữu ích trong IDA

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

Master the Art of seeing what is hidden. Most programmers treat compiled binaries as a "black box"-a mystery they can never solve. This course changes that. In this comprehensive bootcamp, you will learn to peel back the layers of software to understand the working principles of any executable, regardless of whether you have the source code.

The Full Stack of Deconstruction

We don't start with tools; we start with the physics of computing. Before you touch a decompiler, you will understand:

  • Hardware Foundations: From MOSFETs and Logic Gates to how a CPU actually executes an instruction.

  • Low-Level Arithmetic: Mastery of Binary, Hexadecimal, and Boolean Algebra for reverse engineers.

  • The Assembly Layer: Deep-dive into x86-64 Assembly language, focusing on registers, stack frames, and memory addressing.

Tooling and Methodology

You will gain hands-on experience with industry-standard tools and forensic techniques:

  • Static Analysis with Ghidra: Master the NSA’s premier open-source reverse engineering suite. Learn to navigate function graphs, use the decompiler effectively, and perform data type recovery.

  • Dynamic Analysis & Debugging: Use GDB (GNU Debugger) and DDD to monitor program execution in real-time, manipulate memory, and bypass software protections.

  • File Format Anatomy: Gain a surgical understanding of the Linux ELF and Windows PE formats. Learn how headers, sections, and symbols drive the execution process.

Real-World Applications

This isn't a theory-only course. You will apply your skills to:

  • Malware Analysis: Learn the 5 critical steps to identifying and neutralizing malicious software.

  • Vulnerability Research: Understand how to find buffer overflows and logic errors by analyzing raw machine code.

  • Software Hardening: See how stripped binaries work and how to recover symbolic information.

Whether you are looking to enter the world of Exploit Development, Cybersecurity Research, or simply want to become a 1% developer who understands the "atoms" of their code, this course provides the manual you’ve been looking for.

Stop guessing what the code does. Start knowing. Join the bootcamp today.

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 Ghidra
Hiển thị tất cả khoá học Ida
Hiển thị tất cả khoá học Malware Analysis
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 😊