Chia sẻ

Trong bài này csharpcanban.com sẽ hướng dẫn các bạn tìm hiểu kỹ thuật làm rỗi mã để chống dịch ngược mã nguồn (Obfuscator), và giới thiệu công cụ chống dịch ngược mã nguồn Phoenix Protector.

1. Giới thiệu kỹ thuật Obfuscator (Kỹ thuật làm rối mã)

Kỹ thuật Obfuscator giống như mã hóa source code dạng thô sơ vậy, có mục đích bảo vệ mã nguồn và tránh bị người khác “vô tình dùng mất mà chẳng biết làm cách nào”.

Kỹ thuật Obfuscator làm thay đổi tên hàm, tên lớp, tên biến, … hoặc chia nhỏ mã nguồn thành các đọan rất khó đọc để người khác không thể đọc được.

Sau khi Obfuscator trong mã nguồn sẽ không còn các lời bình (comment), nhưng vẫn có một số thứ không thay đổi như: các từ khóa (keyword) và cấu trúc lệnh của ngôn ngữ lập trình.

Kỹ thuật Obfuscator biến mã nguồn của bạn trở thành một “ma trận” chuỗi và số, khá an toàn trước những chuyên viên “đánh cắp mã nguồn & thay đổi bản quyền”.

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

Công cụ chống dịch ngược mã nguồn Phoenix Protector 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 .

Xem thêm  [WPF] Hướng dẫn tạo Button dynamically trong WPF

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 , String Control 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.

[C#] Hướng dẫn chống dịch ngược mã nguồn
[C#] Hướng dẫn chống dịch ngược mã nguồn

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#] Hướng dẫn chống dịch ngược mã nguồn
[C#] Hướng dẫn chống dịch ngược mã nguồn

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. Đâ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 Obfuscation 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#] Hướng dẫn chống dịch ngược mã nguồn
[C#] Hướng dẫn chống dịch ngược mã nguồn

3. Lời kết

Trên đây csharpcanban.com đã làm rõ vấn đề chống dịch ngược mã nguồn bằng cách làm rối mã, đồng thời giới thiệu các bạn một công cụ chống dịch ngược mã nguồn hữu ích. Các bạn có thể tải file cài đặt công cụ theo đường dẫn dưới đây.

Xem thêm  [C#] Hướng dẫn sử dụng vòng lặp For

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


Chia sẻ

By admin

One thought on “[C#] Hướng dẫn chống dịch ngược mã nguồn bằng công cụ Phoenix Protector”
  1. Cho mình hỏi tại sao file .exe của mình sau khi chạy Phoenix Protector để tạo ra file mã hóa thì Windows defender nó báo Content virus or potential … rồi nó xóa luôn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *