Làm xáo trộn là một kỹ thuật được sử dụng trong phát triển phần mềm để ẩn hoặc che khuất mã, dữ liệu và hướng dẫn chương trình nhằm gây khó khăn cho việc hiểu thông qua kỹ thuật đảo ngược, xem hoặc giả mạo. Nó còn được gọi là “che giấu mã” hoặc “định hướng sai”. Sự xáo trộn có thể được sử dụng để bảo vệ bản quyền của ứng dụng bằng cách ngăn chặn việc phân tích mã.
Sự xáo trộn có thể liên quan đến việc sử dụng các kỹ thuật khác nhau để làm cho mã nguồn khó hiểu hơn. Chúng bao gồm đổi tên biến, mã hóa và chia mã thành các phần nhỏ hơn. Một số thuật toán cũng được thiết kế để khó hiểu và loại bỏ mã hóa nếu vấn đề bảo mật là vấn đề đáng lo ngại.
Các công cụ dùng để làm xáo trộn mã có thể tự động xóa mã không ảnh hưởng đến kết quả đầu ra của chương trình, như dòng nhận xét hoặc khoảng trắng, hoặc nhúng mã khó hiểu để khó đọc. Các ví dụ bao gồm đổi tên biến, mã hóa chuỗi và làm phẳng luồng điều khiển.
Việc làm xáo trộn thường đi kèm với một hình phạt về hiệu suất do mã phải được biên dịch lại sau khi làm xáo trộn. Ngoài ra, các kỹ thuật làm rối mã nguồn cũng có thể cản trở việc gỡ lỗi vì mã có thể khó theo dõi và khó hiểu.
Obfuscation được sử dụng rộng rãi trong các ứng dụng như hệ thống nhúng, hệ điều hành di động và máy chơi game. Nó cũng được sử dụng trong các ứng dụng an ninh mạng để bảo vệ thông tin liên lạc và mã khỏi những kẻ tấn công.
Nhìn chung, obfuscation là một kỹ thuật được sử dụng để bảo vệ mã khỏi bị thay đổi hoặc phân tích bằng cách ngăn không cho đọc mã. Nó được sử dụng để làm cho việc truy cập thông tin mã trở nên khó khăn hơn đối với kẻ tấn công hoặc người trong nội bộ. Mặc dù che giấu đi kèm với một hình phạt về hiệu suất nhưng đây là một kỹ thuật có giá trị khi được sử dụng đúng cách.