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

Assembly Language Foundation Course for Ethical Hackers

Khóa Học Nền Tảng Ngôn Ngữ Assembly Cho Hacker Mũ Trắng

Khóa Học Nền Tảng Ngôn Ngữ Assembly Cho Hacker Mũ Trắng

Làm Chủ Lập Trình Cấp Thấp Cho Khai Thác Nâng Cao và Kiểm Thử Xâm Nhập

4.5
(71 đánh giá)
1,120 học viên
Giảng viên
Swapnil Singh
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
27.0 giờ video
107 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ì

Khóa học sẽ cung cấp phần giới thiệu về lập trình Ngôn Ngữ Assembly, bao gồm cú pháp và cấu trúc của mã Assembly.
Học viên sẽ tìm hiểu về cách thức hoạt động bên trong của hệ thống máy tính, bao gồm CPU, các thanh ghi, quản lý bộ nhớ và các thành phần khác.
Hiểu Về Kỹ Thuật Reverse Engineering: Học viên sẽ học cách reverse engineer các chương trình và hiểu cách chúng hoạt động bằng Ngôn Ngữ Assembly.
Kết thúc khóa học, học viên sẽ có được hiểu biết sâu sắc về lập trình Ngôn Ngữ Assembly

Yêu cầu

Lập trình C
Kiến thức cơ bản về Linux

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

Hacker Mũ Trắng
Chuyên viên Kiểm Thử Xâm Nhập (Pentester)
Sinh viên Khoa Học Máy Tính
Chuyên viên Phân Tích Mã Độc (Malware Analyst)
Lập trình viên
Bất kỳ ai muốn học điều gì đó mới trong lĩnh vực Khoa học Máy Tính

Nội dung khóa học

11 phần • 107 bài giảng
1 Ai có thể tham gia khóa học này & Cần kỹ năng gì cho khóa học
1 Cách hệ thống máy tính hoạt động và vai trò của CPU
2 Các thành phần bên trong của CPU
3 Các thanh ghi (registers) bên trong CPU là gì?
4 Các cờ (flags) của CPU
5 Cấu trúc cờ của CPU
6 Cách các cờ hoạt động trong CPU
7 Bố cục bộ nhớ của chương trình trong hệ thống máy tính
8 Cách xem stack của một chương trình
1 Cấu trúc của một chương trình assembly
2 System calls trước khi viết Hello World trong Assembly
3 Viết chương trình Hello World đầu tiên của chúng ta bằng assembly
4 Biên dịch một chương trình assembly bằng gcc
5 Gỡ lỗi chương trình assembly của chúng ta
6 Sử dụng các hàm thư viện C trong chương trình assembly
1 Định nghĩa dữ liệu trong phần data của chương trình assembly
2 Sử dụng các ký hiệu tĩnh (static symbols) trong chương trình assembly
3 Cách định nghĩa và sử dụng dữ liệu trong phần bss
4 Di chuyển dữ liệu trong lập trình Assembly
5 Thực hành minh họa di chuyển dữ liệu trong assembly
6 Di chuyển dữ liệu nâng cao hơn trong assembly
7 Truy cập và di chuyển các giá trị được đánh chỉ mục (indexed) trong assembly
8 Định địa chỉ trực tiếp và gián tiếp trong assembly
9 Ví dụ thực tế về định địa chỉ trực tiếp và gián tiếp trong assembly
10 Khái niệm về con trỏ địa chỉ gián tiếp
11 Truy cập các vị trí bộ nhớ được đánh chỉ mục trong assembly
12 Cách tạo một stack frame trong assembly
13 Thêm và xóa dữ liệu trên stack trong assembly
14 Các lệnh trao đổi dữ liệu trong assembly
15 Thiết lập và xóa bit cờ Carry Flag
16 Thiết lập và xóa cờ Overflow Flag trong assembly
17 Thiết lập và xóa cờ Parity Flag trong assembly
18 Thiết lập và xóa cờ Sign Flag trong assembly
19 Thiết lập và xóa cờ Zero Flag trong assembly
1 Hiểu về thanh ghi EIP trong assembly
2 Lệnh nhảy (jump) trong assembly
3 Công việc của lệnh call trong assembly là gì?
4 Lệnh nhảy có điều kiện chi tiết trong assembly
5 Sử dụng cờ Zero làm điều kiện nhảy trong assembly
6 Sử dụng cờ Overflow làm điều kiện nhảy trong assembly
7 Sử dụng cờ Parity làm điều kiện nhảy trong assembly
1 Các loại số được sử dụng trong lập trình assembly
2 Số nguyên có dấu và không dấu là gì và cách lưu trữ số nguyên không dấu
3 Cách lưu trữ số nguyên không dấu trong bộ nhớ
4 Sử dụng số nguyên không dấu trong chương trình assembly
5 Khái niệm về cách CPU lưu trữ số trong bộ nhớ
6 Thực hành minh họa cách CPU lưu trữ số trong bộ nhớ
7 Cách sử dụng số có dấu trong chương trình assembly
8 Khái niệm về các thanh ghi SIMD trong assembly
9 Các thanh ghi MMX trong assembly
10 Sử dụng các thanh ghi MMX trong assembly để di chuyển số nguyên
11 Hiểu về các thanh ghi SSE
12 Sử dụng các thanh ghi SSE trong assembly
13 Kiểu dữ liệu BCD là gì?
14 Lưu trữ kiểu dữ liệu BCD trong bộ nhớ
15 Cách di chuyển số thực dấu phẩy động (floating point)
16 Lưu trữ số thực dấu phẩy động vào bộ nhớ
17 Lưu trữ nhiều giá trị float cùng một lúc
1 Cộng số trong assembly
2 Xử lý số âm trong assembly
3 Khái niệm phát hiện nhớ (carry) trong phép cộng
4 Viết chương trình assembly để phát hiện cờ carry trong phép cộng
5 Hiểu khái niệm tràn (overflow) trong phép cộng số học
6 Thực hành minh họa tràn trong lệnh cộng trong assembly
7 Phát hiện tràn khi cộng số nguyên có dấu trong assembly
8 Khái niệm về lệnh cộng có nhớ (add carry) trong assembly
9 Sử dụng lệnh ADC trong assembly
10 Cách phép trừ nhị phân hoạt động
11 Sử dụng lệnh sub trong chương trình assembly
12 Lệnh tăng (increment) và giảm (decrement) trong assembly
13 Phép nhân hai số không dấu trong assembly
14 Các cách nhân khác nhau của số có dấu trong assembly
15 Cách phép chia hoạt động trong assembly
16 Dịch bit (bit shifting) trong lập trình assembly
17 Xoay bit (rotating bits) trong lập trình assembly
18 Các phép toán logic trong assembly
19 Sử dụng các phép toán logic OR, AND và XOR trong lập trình assembly
1 Chuỗi được di chuyển như thế nào trong assembly?
2 Cờ hướng (Direction flag) trong di chuyển chuỗi trong assembly
3 Di chuyển các con trỏ ESI và EDI khi cờ DF được thiết lập trong chương trình assembly
4 Lệnh REP hoạt động như thế nào với chuỗi trong chương trình assembly
5 Kiến thức cơ bản về so sánh chuỗi trong assembly
6 Cách so sánh chuỗi lớn với lệnh REP trong assembly
7 Các lệnh LODS và STOS trong di chuyển chuỗi trong lập trình assembly
8 Khái niệm cơ bản về cách mã hóa một chuỗi trong assembly
9 Mã hóa một chuỗi trong chương trình assembly
10 Cách giải mã chuỗi đã được mã hóa trong assembly
1 Cách định nghĩa một hàm trong lập trình assembly
2 Sử dụng một hàm trong lập trình assembly
3 Truyền giá trị đầu vào cho hàm trong assembly
4 Function prolog và epilog với stack frame là gì?
5 Tạo function prolog và epilog trong lập trình assembly
6 Truy cập tham số hàm bằng dữ liệu stack
7 Truy cập dữ liệu stack trong hàm của chúng ta trong assembly
8 Cách sử dụng các file hàm riêng biệt trong assembly
9 Tìm tham số đầu vào chương trình trên stack
1 Cách sử dụng system calls trong assembly - kiến thức cơ bản
2 Quy tắc sử dụng system calls trong assembly
3 Sử dụng system calls write và exit trong assembly
4 Giá trị trả về của một system call
5 Tìm giá trị trả về của system call exit
6 Sử dụng system call getpid trong assembly để lấy ID tiến trình của chương trình
7 Sử dụng system call getuid trong assembly để lấy ID người dùng hiện tại
8 Cách xử lý các giá trị trả về nâng cao của một system call
1 Lập trình assembly nội tuyến là gì?
2 Sử dụng syscall write để in bằng assembly nội tuyến
3 In giá trị của các thanh ghi bằng lập trình assembly nội tuyến

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

Assembly language programming for hackers is a specialized skill set that combines the knowledge of computer architecture and low-level programming with the creativity and resourcefulness of a hacker. Assembly language is a low-level programming language that is used to write software that interacts directly with a computer's hardware. It is a powerful tool for hackers who need to perform intricate and precise operations on a system, especially when higher-level languages are not sufficient or efficient enough.

Hackers who specialize in assembly language programming are often able to perform tasks that are impossible or extremely difficult with other programming languages. For example, they can write code that directly manipulates a system's memory or registers, which can be critical for certain types of hacks such as exploiting buffer overflow vulnerabilities. Assembly language programming can also be used for reverse engineering, where hackers analyze and understand the inner workings of a system by examining its assembly code.

However, assembly language programming requires a deep understanding of computer architecture and low-level programming concepts. Hackers who specialize in this area must be familiar with the instruction set of the specific computer or processor they are targeting, as well as be able to write code that is optimized for performance and efficiency. Despite its complexity, assembly language programming remains an essential skill for hackers who want to push the boundaries of what is possible with computers and systems.

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 Cybersecurity
Hiển thị tất cả khoá học Low Level Programming
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 😊