CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 57

57

Chương 1: Phát triển ứng dụng

Nếu việc xây dựng các giải pháp dựa-trên-server là không phù hợp, bạn có hai tùy chọn sau
đây:

Sử dụng một obfuscator để khiến cho assembly của bạn khó bị dịch ngược (Visual
Studio .NET 2003
có chứa phiên bản Community của một obfuscator, có tên là
Dotfuscator). Obfuscator sử dụng nhiều kỹ thuật khác nhau khiến cho assembly khó bị
dịch ngược; nguyên lý của các kỹ thuật này là:

Đổi tên các trường và các phương thức private nhằm gây khó khăn cho việc đọc và
hiểu mục đích của mã lệnh.

Chèn các lệnh dòng điều khiển khiến cho người khác khó có thể lần theo logic của
ứng dụng.

Chuyển những phần của ứng dụng mà bạn muốn giữ bí mật thành các đối tượng COM
hay các DLL nguyên sinh, sau đó sử dụng P/Invoke hoặc COM Interop để gọi chúng từ
ứng dụng được-quản-lý của bạn (xem chương 15 về cách gọi mã lệnh không-được-
quản-lý).

Không có cách tiếp cận nào ngăn được những người có kỹ năng và quyết tâm dịch ngược mã
nguồn của bạn, nhưng chúng sẽ làm cho công việc này trở nên khó khăn đáng kể và ngăn
được hầu hết nhưng kẻ tò mò thông thường.
Nguy cơ một ứng dụng bị dịch ngược không chỉ riêng cho C# hay .NET. Một người quyết tâm
có thể dịch ngược bất kỳ phần mềm nào nếu anh ta có kỹ năng và thời gian.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.