2009-10-13 12 views
5

Tôi đang cố gắng sử dụng Dotfuscator (CE) để giúp bảo vệ ASP.NET MVC của chúng tôi .ddl. Một ứng dụng web của nó sẽ được phân phối cho khách hàng và chúng tôi cần một cách để bảo vệ IP của chúng tôi.ASP.NET MVC Dotfuscator vấn đề

Sự cố là dường như ứng dụng đã phá vỡ khi hoàn tất. Tôi đã chỉ có cho đến nay với vô hiệu hóa đổi tên trên không gian tên Controllers của tôi nhưng tôi nhận được ngoại lệ tham chiếu null bây giờ.

Có ai có Dotfuscator làm việc với ASP.NET MVC DLL không? Google không cung cấp thông tin hoặc bài đăng trên blog có thể có.

Cảm ơn.

Các chi tiết khác:

Visual Studio 2008 Professional,

Windows Vista Business x64,

đăng ký Dotfuscator của tôi, nhưng không có một email với một liên kết tải về cho phiên bản CE nâng cấp.

Hoặc bất kỳ ai cũng có thể đề xuất một công cụ tương đối rẻ có thể hoạt động bình thường không?

Trả lời

9

Tôi không nghĩ rằng sẽ làm việc vì ASP.NET MVC dựa quá nhiều vào sự phản ánh.

Tôi đã thành công làm xáo trộn một ứng dụng ASP.NET MVC bằng cách sử dụng SmartAssembly và tùy chọn kiểm soát dòng chảy-kiểm soát nó có. Điều đó không thay đổi tên của các thành viên lớp học của bạn mà thay vào đó thay đổi mã trong các phương thức của bạn thành mã spaghetti.

7

Đúng là ASP. NET MVC dựa chủ yếu vào sự phản chiếu và do đó bạn không thể làm xáo trộn loại hoặc thuộc tính sẽ được phản ánh. Tuy nhiên, tôi cho rằng không cần phải làm phiền hầu hết những thứ này. Tên bộ điều khiển và tên hành động của bạn đã được công khai, vì chúng xuất hiện trong URI. Các mô hình trình bày của bạn về cơ bản là công khai, vì chúng phải được thiết kế giống như chế độ xem của bạn và vì người dùng cuối có thể thấy chế độ xem của bạn.

Bộ điều khiển của bạn phải rất nhẹ và chỉ cần gắn các đối tượng từ một kho lưu trữ vào các mô hình trình bày của bạn. Vì vậy, có rất ít tài sản trí tuệ để ẩn ở đây.

Mã bạn thực sự muốn làm xáo trộn có lẽ là logic nghiệp vụ của bạn, có thể rất dễ dàng sống trong một hội đồng riêng biệt. Vì vậy, đề nghị của tôi sẽ là thay vì cố gắng obfuscator sau obfuscator, và cố gắng tìm một trong đó dường như để làm việc (ngoại trừ những lỗi mà bạn bỏ lỡ, nhưng người dùng của bạn tìm thấy sau này), thay vào đó bạn phân vùng mã làm xáo trộn và anh ta không phụ thuộc vào sự phản chiếu.

+1

Lời khuyên rất hay. –