GIỚI THIỆUKỹ thuật đảo ngược có các ứng dụng tốt như phục hồiCác thuật toán có giá trị từ di sản phần mềm, giao thức khám phávà nộp mẫu đơn [8] Đối với hệ thống phát hiện xâm nhập. Tuy nhiên, nócũng có nhiều nhược điểm. Ví dụ, phần mềm hacker thườngsử dụng công cụ kỹ thuật đảo ngược để khám phá các lỗ hổng phần mềmvà tiêm mã độc hại, đặc biệt là cho phần mềm độc quyền.Ví dụ, sâu CodeRed [30], được phát hành sau khi "reverseengineeringmã nhị phân"[17] của máy chủ Microsoft IIS. Trong khi đó,vi phạm bản quyền phần mềm, kích hoạt bởi kỹ thuật đảo ngược, là một nghiêm trọngmối đe dọa cho ngành công nghiệp phần mềm.Chương trình obfuscation [6, 28, 18, 24] là một công cụ bảo vệ phần mềmđể giảm thiểu các vấn đề an ninh và vi phạm bản quyền phần mềm lớn lên bởiđảo ngược kỹ thuật. Nó hoạt động bằng cách chuyển đổi một chương trình vào mộtđối tác tương đương chức năng, Tuy nhiên, đặt ra một đáng kểCác rào cản để khám phá những ngữ nghĩa cấp cao và cấu trúccủa chương trình.Mặc dù năng động phân tích hầu như có thể tiết lộ thực sự thực hiệndấu vết của bất kỳ chương trình obfuscated, nó là thường khó khăn để thực hiệntrong thực tế do yêu cầu thời gian và không gian. Bộ vi xử lý hiện đạithực hiện hàng tỷ của hướng dẫn cho một thứ hai, mà yêu cầukhông thực tế số lượng tài nguyên để thu thập các dấu vết và áp dụng truyền thốngkỹ thuật phân tích, trong khi quyết định khi nào và nơi để bắt đầuthu thập dấu vết cũng là khó khăn trên chương trình obfuscated. Cuối cùng,phân tích năng động có vấn đề phạm vi bảo hiểm trong đó nó có thểyêu cầu trường hợp thử nghiệm đủ để lộ nhiều lỗi và lỗ hổng,mà thường ẩn trong đường dẫn chương trình hiếm. Điều này sẽ thêmđể trình đã tốn thời gian - và tài nguyên. Do đó, cólà lợi ích đáng kể các nghiên cứu trong việc cung cấp chương trình obfuscationkỹ thuật, để buộc các đối thủ để chuyển sang động phân tíchkỹ thuật.Trước obfuscating phương pháp tiếp cận chủ yếu sử dụng chương trình biến đổimà dựa vào đục predicates1[6] để làm thành tối tăm sự kiểm soátlưu chuyển tiền, và sau đó chèn mã không có thật trong các đường dẫn untaken để làm thành tối tămluồng dữ liệu. Điển hình chương trình biến đổi bao gồm kiểm soátdòng chảy dẹt [28], con trỏ chức năng [22], chi nhánh chức năng [18],Dựa trên thực tế là phân tích interprocedural bí danh và con trỏphân tích là NP-khó khăn [6, 28, 22]. Tuy nhiên, các phương pháp tiếp cận thườngđến ở với sự xuống cấp hiệu suất đáng chú ý Nếu áp dụng trênmức độ toàn bộ chương trình. Ví dụ, sự kiểm soát dẹt phương pháp tiếp cận[28] có thể phải chịu chi phí hiệu suất của nhiều hơn 5 X nếu
đang được dịch, vui lòng đợi..
