Làm xáo trộn các ứng dụng được tạo bằng Dotfuscator

Trang Cập Nhật :
Ngày tạo trang :

tóm tắt

Bởi vì các ứng dụng dựa trên .NET Framework được tạo ra trong cái được gọi là ngôn ngữ trung gian chung, chúng có thể được đọc ở dạng gần với mã nguồn gốc bằng cách sử dụng các công cụ tháo gỡ và tương tự. Phần này mô tả cách làm xáo trộn Dotfuscator, obfuscator đi kèm với Visual Studio, để xáo trộn tên lớp và phương thức thành một định dạng không dễ đọc.

Chúng ta đang nói về nó ở đây bằng cách sử dụng Visual Studio 2010, nhưng bạn có thể sử dụng Dotfuscator trong năm 2005 và 2008 là tốt.

Dotfuscator を使用して作成したアプリケーションを難読化する

Môi trường hoạt động

Các phiên bản Visual Studio được hỗ trợ

  • 2005
  • 2008
  • 2010

Kiểm tra phiên bản Visual Studio

  • 2005
  • 2008
  • 2010

chất

Về Dotfuscator

Dotfuscator là một công cụ xáo trộn làm cho mã nguồn khó đọc khi tháo rời trong các ứng dụng được viết bằng .NET Framework. Dotfuscator đi kèm với Visual Studio miễn phí và có tính phí.

Phiên bản miễn phí không có sẵn trừ khi nhiều tính năng của nó bị giới hạn hoặc Visual Studio được khởi động, nhưng bất kỳ ai cũng có thể sử dụng nó miễn là họ đã cài đặt Visual Studio. Phiên bản trả phí có nhiều tính năng xáo trộn mạnh mẽ không có trong phiên bản miễn phí, nhưng nó được cung cấp với mức giá mà công chúng khó có thể mua được.

Dotfuscator có các tính năng, giá cả và phiên bản khác nhau tùy thuộc vào phiên bản, vì vậy vui lòng tham khảo trang chủ sau để biết chi tiết.

Thủ tục xáo trộn

難読化していないアプリケーションの逆アセンブル結果

Tôi đã đề cập trước đó rằng các ứng dụng được tạo bằng .NET Framework có thể tháo rời và dễ dàng đọc mã nguồn gốc, nhưng tình huống thực tế là nếu bạn tháo rời tệp exe như trong hình bên phải, bạn gần như có thể tái tạo mã nguồn gốc như không gian tên, tên lớp, tên phương thức, v.v.

Mô tả các bước để làm cho những cái tên này trở nên khó hiểu và bị xáo trộn.

Dotfuscator Software Services

Tạo một ứng dụng trong Visual Studio và tạo một tệp exe hoàn toàn giống với cách thông thường để tạo nó.

Sau khi bạn xây dựng và tạo tệp exe, chọn công cụ từ menu Visual Studio , và sau đó chọn dịch vụ phần mềm Dotfuscator.

使用許諾契約書

Khi bạn bắt đầu lần đầu tiên, hộp thoại "Thỏa thuận cấp phép" được hiển thị như trong hình bên phải, vì vậy hãy đọc kỹ nội dung, chọn "Có, tôi đồng ý với thỏa thuận cấp phép." và nhấp vào nút "OK".

Dotfuscator Software Services

Dịch vụ phần mềm Dotfuscator bắt đầu.

入力アセンブリの追加

Exe (hoặc tệp dll) bị xáo trộn không nhất thiết phải từ dự án hiện đang mở.

Chọn Input Assemblies từ cây bên trái và nhấp vào Input Assemblies ở bên phải để nhấp vào nút ....

難読化する exe ファイル

Chọn tệp exe bạn muốn làm xáo trộn.

追加したアセンブリ

Tệp exe đã chọn được thêm vào danh sách. Nếu bạn muốn làm xáo trộn nhiều tệp, hãy nhấp vào nút "..." sau dòng thứ hai để thêm chúng.

プロジェクトのビルド

Khi bạn đã chọn exe bạn muốn làm xáo trộn, hãy nhấp vào nút Xây dựng dự án từ thanh công cụ.

プロジェクトの保存

Nếu có bất kỳ thay đổi nào đối với dự án, hộp thoại xác nhận lưu dự án sẽ được hiển thị, vì vậy hãy nhấp vào "Có" để lưu.

プロジェクトの保存場所指定

Dự án được gọi là ". xml" tập tin. Tệp exe bị xáo trộn cũng sẽ được lưu ở cùng một vị trí, vì vậy hãy lưu tệp .xml vào bất kỳ thư mục nào.

ビルド

Việc xây dựng sẽ bắt đầu và đợi cho đến khi nó hoàn thành. Lưu ý rằng chương trình càng lớn, thời gian xây dựng càng lâu. Nếu nó trông giống như hình bên phải, việc xây dựng đã hoàn thành.

Trường thông báo hiển thị các kết quả đơn giản, chẳng hạn như tiến trình của bản dựng và mức độ xáo trộn của nó.

難読化結果

Nếu bạn chọn "Kết quả" từ cây bên trái, bạn có thể xem chi tiết về cách tên lớp và phương thức đã thay đổi.

Bên dưới tên lớp và phương thức, có một biểu tượng Dotfuscator và một tên như "a" hoặc "b", đó là tên bị xáo trộn. Bằng cách thay đổi tên lớp hoặc tên phương thức thành một cái tên vô nghĩa như thế này, bạn có thể làm cho nội dung của mã nguồn khó đọc ngay cả khi nó bị tháo rời.

難読化したアセンブリ

Các tệp exe bị xáo trộn được tạo trong thư mục của các tệp .xml được lưu trong Save Project, được gọi là "Dotfuscated" và được tạo trong đó. Ngoài tệp exe, tệp ".xml bản đồ" đã được tạo, nhưng đây là kết quả của sự xáo trộn và không nên được sử dụng.

難読化したアセンブリの実行時エラー

Các exe bị xáo trộn có thể được chạy và sử dụng nguyên trạng. Tuy nhiên, có những trường hợp nó không thể được khởi động do một lỗi không xác định như trong hình bên phải.

Lần này, tôi đã viết một ứng dụng trong WPF, nhưng vì tệp XAML của cửa sổ đầu tiên hiển thị được chỉ định là một chuỗi, việc đổi tên do xáo trộn sẽ khiến tham chiếu bị mất, dẫn đến lỗi.

Các ứng dụng Windows Form tham chiếu trực tiếp đến lớp From, vì vậy chúng có thể chạy mà không có lỗi ngay cả khi chúng bị xáo trộn. Tuy nhiên, nếu bạn chỉ định tên lớp, loại enum, v.v. theo tên, bạn cần cẩn thận vì có khả năng xảy ra lỗi tương tự.

難読化の除外

Nếu bạn không muốn làm xáo trộn một lớp học hoặc nội dung nào đó, hãy chọn Đổi tên từ cây ở phía bên trái của Dotfuscator và chọn Loại trừ từ tab giữa.

Mỗi không gian tên, tên lớp, v.v. sẽ được hiển thị trong danh sách bên phải, vì vậy hãy kiểm tra các mục bạn không muốn làm xáo trộn.

Ở đây, tôi không muốn thay đổi tên lớp của cửa sổ sẽ được hiển thị trước, vì vậy tôi kiểm tra "MainWindow".

難読化から除外されたクラス

Khi bạn thực hiện việc xây dựng, bạn có thể thấy rằng không có tên thay đổi dưới tên lớp trong MainWindows. (Lớp ứng dụng đã được chuyển đổi thành "a")

難読化したアセンブリの実行

Khi bạn chạy tệp exe bị xáo trộn, bạn có thể thấy rằng cửa sổ được hiển thị chính xác.

難読化後の逆アセンブル

Nếu bạn tháo rời tệp exe bị xáo trộn, bạn có thể thấy rằng tên lớp và tên phương pháp đã được thay đổi thành "a" hoặc "b" đúng cách.

Nhưng như một bên. Các thư viện NET Framework như tên lớp không thể đổi tên vì chúng là các cụm đã được cài đặt trên Windows và các nơi khác.

Lần này, tôi đã làm xáo trộn dự án mặc định được tạo ra như hiện tại, vì vậy tôi nghĩ rằng có một hình ảnh mà nó không bị xáo trộn quá nhiều, nhưng tôi nghĩ rằng hiệu ứng của sự xáo trộn trở nên rõ ràng vì số lượng các lớp, v.v. tăng lên khi dự án phát triển.

Ngoài ra, mặc dù chúng tôi đã bao gồm quy trình trong phiên bản miễn phí lần này, phiên bản trả phí cho phép xáo trộn phức tạp hơn và cũng ngăn chặn việc tháo gỡ chính nó. Tuy nhiên, xáo trộn có nhiều tác dụng phụ khác nhau và có khả năng xảy ra, vì vậy khi xáo trộn được thực hiện, cần phải làm cho nó trong khi xem xét liệu nó có hoạt động bình thường ngay từ đầu thiết kế hay không.