Kỹ nghệ đảo ngược

Kỹ nghệ đảo ngược (hay công nghệ đảo ngược, kỹ thuật đảo ngược) (tiếng Anh: reverse engineering) là quá trình tìm ra các nguyên lý kỹ thuật của một phần mềm ứng dụng hay thiết bị cơ khí qua việc phân tích cấu trúc, chức năng và hoạt động của nó. Trong quá trình này, người ta thường phải tháo dỡ đối tượng (ví dụ một thiết bị cơ khí, một thành phần điện tử, một phần mềm) thành từng phần và phân tích chi tiết hoạt động của nó, thường là với mục đích xây dựng một thiết bị hoặc phần mềm mới hoạt động giống hệt nhưng không sao chép bất cứ thứ gì từ đối tượng nguyên bản.

Kỹ nghệ đảo ngược được áp dụng trong các mảng Kỹ thuật máy tính, Kỹ thuật cơ khí, Kỹ thuật điện tử, Công nghệ phần mềm, Kỹ thuật hóa học và Sinh học hệ thống.

Tổng quát 
Có rất nhiều mục đích để thực hiện kỹ nghệ đảo ngược trong nhiều lĩnh vực. Nó được biết đến trong việc phân tích phần cứng phục vụ cho mục đích thưong mại và quân sự. Tuy vậy, công việc kỹ nghệ đảo ngược không ảnh hưởng tới việc sao chép hoặc thay đổi hiện vật theo một cách nào đó mà chỉ là công cụ phân tích để suy ra các tính năng có sẵn của sản phẩm thông qua rất ít hoặc không có kiến thức về quá trình sản xuất ban đầu của chúng.

Trong phạm trù phần mềm, quy trình đảo ngược giúp tăng sự thông hiểu về mã nguồn của phần mềm đó trong việc bảo trì và cải tiến. Thông tin liên quan có thể được trích xuất nhằm đưa ra góc nhìn và quan điểm khác về mã nguồn. Điều đó có thể giúp ta phát hiện được lỗi phần mềm hoặc lỗ hổng phần mềm.

Đối với những người phát triển phần mềm ác ý, họ sử dụng kỹ nghệ đảo ngược để tìm lỗ hổng của hệ điều hành để tạo ra virus máy tính. Ngoài ra, ngành phân tích mật mã cũng cần kỹ nghệ đảo ngược để tìm lỗ hổng trong thay thế cipher, thuật toán key đối xứng, hoặc mã hóa public-key.

Tham khảo

Công nghệ phần mềm
Bảo mật máy tính
Luật sáng chế
Sản xuất và phát hành