Tổng quan
Agile.NET Code Protection hướng đến nhu cầu bảo vệ ứng dụng.NET bằng obfuscation ở nhiều lớp khác nhau của assembly. Phạm vi xử lý bao gồm class names, method names, managed resources, user strings, methods implementation cùng các lời gọi system và library.

Cơ chế obfuscation không chỉ dừng ở việc đổi tên metadata entities. Công cụ còn hỗ trợ các kỹ thuật nâng cao như control flow obfuscation, cross assembly obfuscation và string encryption để làm mã sau khi decompile khó đọc và khó suy luận hơn.
Bảo vệ ứng dụng.NET bằng obfuscation cho tên lớp, phương thức, resource, chuỗi và luồng điều khiển. Hỗ trợ cross-assembly obfuscation, string encryption, mixed-mode assemblies và tích hợp MSBuild, NAnt.
Tính năng nổi bật
- Đổi tên namespace, class names, method signatures và fields trong metadata.
- Large Assembly Handling — Biến đổi methods implementation và string values của assembly.
- Áp dụng unreadable scheme bằng unprintable unicode.
- Làm mã decompile rất khó đọc và không thể compile lại trong trường hợp phù hợp.
- Ẩn control flow bằng các cấu trúc tương đương về ngữ nghĩa.
- Chuyển implementation thành spaghetti code để gây khó suy luận logic chương trình.
- Large Assembly Handling — Giữ nguyên code flow của obfuscated assembly khi ứng dụng chạy.
Ứng dụng thực tế
- Bảo vệ ứng dụng.NET thương mại trước việc decompile và reverse engineering.
- Che giấu tên thành phần nội bộ và chuỗi nhạy cảm liên quan đến license hoặc logic nghiệp vụ.
- Đồng bộ obfuscation cho nhiều assemblies có tham chiếu chéo.
- Phát hành patch cho bản đã obfuscate mà vẫn giữ mapping tên cũ.
- Phân tích lỗi từ stack trace và debugger output bằng map file.
Đối tượng sử dụng phù hợp
- Lập trình viên.NET phát hành ứng dụng desktop hoặc server-side trên Windows
- Tech lead cần đưa obfuscation vào quy trình build hiện có
- Đội ngũ phát triển quản lý nhiều assemblies có liên kết với nhau
- Nhóm bảo trì cần đối chiếu stack trace sau khi ứng dụng đã obfuscate
Thông tin kỹ thuật
Câu hỏi thường gặp
Agile.NET Code Protection xử lý những phần nào của assembly?
Công cụ có thể obfuscate class và method names, managed resources, user strings, methods implementation, system calls và library calls.
Có hỗ trợ nhiều assembly tham chiếu lẫn nhau không?
Có. Cross Assembly Obfuscation cho phép đổi tên đồng nhất các external references giữa các assemblies giao tiếp với nhau.
Ứng dụng dùng reflection API có cần lưu ý gì?
Việc đổi tên method có thể làm lời gọi theo tên gốc không còn hoạt động. Công cụ hỗ trợ declarative obfuscation attributes của Microsoft để chỉ định các tên cần giữ nguyên.
Làm sao debug sau khi mã đã obfuscate?
Agile.NET Code Protection tạo map file chứa đối chiếu giữa tên đã obfuscate và tên gốc, hỗ trợ đọc debugger output và stack trace.
Sản phẩm có hỗ trợ.NET Compact Framework không?
Có. Công cụ có thể dùng để bảo vệ ứng dụng triển khai dưới.NET Compact Framework.




Bình luận