Trở về
Tham gia nhóm m Autoit đ đưc hưng dn và gii đáp trc tiếp : http://fb.com/groups/autoitscript
Tin tức công nghệ  -  Thủ thuật lập trình

Tuesday, January 14, 2014

Phòng chống dịch ngược mã nguồn .NET (C#,VB) với công cụ Phoenix Protector


Toàn màn hìnhIn bài viết

Để người dùng không truy xuất assembly được thì 1 giải pháp đưa ra là xây dựng ứng dụng ở phía server-side nếu có thể.

Nhưng nếu bạn phải phân phối assembly thì không có cách nào để ngăn người dùng dịch ngược chúng. Cách tốt nhất có thể làm là sử dụng kỹ thuật obfuscation các thành phần đã được biên dịch để assembly khó bị dịch ngược hơn.

Giải pháp mình đưa ra trong bài viết hôm nay là sử dụng phần mềm của hãng thứ 3 Phoenix Protector để Obfus mã nguồn .NET

Về những khái niệm cơ bản về dịch ngược và phòng chống dịch ngược mã nguồn mình đã nêu khá chi tiết ở bài này, các bạn có thể tham khảo: http://yagarai.blogspot.com/2013/10/bao-ve-che-giau-chong-dich-nguoc-ma.html


Giới thiệu công cụ Phoenix Protector

Đây là một ứng dụng hoàn toàn miễn phí.  Kết hợp với Rebel.NET DisasMSIL để tạo obfuscator cho  .NET assemblies.

Phoenix Protector có khả năng bảo bệ  .NET assemblies. Và là giải pháp lý tưởng cho mọi nhà phát triển trên nền tảng .NET không sử dụng server-side do hỗ trợ tất cả các loại dự án và khả năng tương thích với tất cả các phiên bản của NET framework .

Chương trình có tất cả các tính năng obfuscation chung để đảm bảo mã nguồn của bạn  như Name , StringControl Flow Obfuscation .

Tính năng cuối cùng đặc biệt quan trọng là ngăn cản mã nguồn .NET bị dịch ngược. Name Obfuscation được cung cấp với một danh sách loại trừ. Để biết thêm thông tin vui lòng liên hệ: info@ntcore.com .

 

Sử dụng tính năng Name Obfuscation : tất cả các MetaData ban đầu trong một .NET assemblies được đổi tên thành những chuỗi ký tự khó đọc. Bằng cách obfuscate một assembly với tính năng này, các mã nguồn bị dịch ngược sẽ thông thể biên dịch được .


Các tính năng khác là String Control Flow Obfuscation . String Obfuscation làm cho String không thể bị dịch ngược và disasemble. Tuy đây không phải là giải pháp bảo vệ tốt nhất nhưng là một tính năng tiêu chuẩn cần có cho .NET assemblies .

Control Flow Obfuscation bảo vệ mã nguồn của bạn bằng cách thay đổi cấu trúc cơ bản có thể bị dịch ngược, nhận dạng  như các khối có điều kiện và các vòng lặp. Control Flow Obfuscatio sẽ phá vỡ cấu trúc mã nguồn nếu như bị dịch ngược.

Ngoài ra, kết hợp các  .NET assemblies. của bạn có thể làm cho mã nguồn của bạn an toàn hơn. Đó là lý do tại sao Phoenix Protector tích hợp thêm tiện ích ILMerge của Microsoft.


Các tính năng, công cụ:

  • Projects Interface
  • Name Obfuscation
  • Exclusion List for the Name Obfuscation
  • String Obfuscation
  • Control Flow Obfuscation
  • Assemblies Merge Utility


Link tải trực tiếp : http://www.ntcore.com/files/Phoenix_Protector.msi