Sau bài viết đầu tiên về shellcode, một người bạn có hỏi tôi là nếu shellcode là bytecode - mã máy, vậy nó chỉ phụ thuộc vào bộ vi xử lí thôi chứ, tại sao nó còn phụ thuộc vào hệ điều hành nữa vậy? Đây là một câu hỏi rất thường gặp ở những người mới bắt đầu, bản thân tôi cũng đã từng tự hỏi như thế khi mới tìm hiểu shellcode. Thật ra lý do shellcode bắt buộc phải phụ thuộc vào hệ điều hành khá hiển nhiên. Nếu bạn nhìn rộng ra một chút, bạn sẽ thấy rằng không phải chỉ shellcode mới là bytecode, mà tất cả phần mềm, dù được viết bằng ngôn ngữ gì, cuối cùng phải được dịch sang bytecode rồi mới có thể chạy được. Nếu shellcode không phụ thuộc vào hệ điều hành, vậy tất cả các phần mềm cũng sẽ không phụ thuộc vào hệ điều hành, phải không nào?
Shellcode thần chưởng: luyện assembly
Shellcode thần chưởng: luyện assembly
Shellcode thần chưởng: luyện assembly
Sau bài viết đầu tiên về shellcode, một người bạn có hỏi tôi là nếu shellcode là bytecode - mã máy, vậy nó chỉ phụ thuộc vào bộ vi xử lí thôi chứ, tại sao nó còn phụ thuộc vào hệ điều hành nữa vậy? Đây là một câu hỏi rất thường gặp ở những người mới bắt đầu, bản thân tôi cũng đã từng tự hỏi như thế khi mới tìm hiểu shellcode. Thật ra lý do shellcode bắt buộc phải phụ thuộc vào hệ điều hành khá hiển nhiên. Nếu bạn nhìn rộng ra một chút, bạn sẽ thấy rằng không phải chỉ shellcode mới là bytecode, mà tất cả phần mềm, dù được viết bằng ngôn ngữ gì, cuối cùng phải được dịch sang bytecode rồi mới có thể chạy được. Nếu shellcode không phụ thuộc vào hệ điều hành, vậy tất cả các phần mềm cũng sẽ không phụ thuộc vào hệ điều hành, phải không nào?