Robert,
Công bằng cho câu hỏi của Jim về "kiểu thiết kế đó". Bằng cách trả lời, thay vì chỉ nói "nó là cái gì" bạn có thể cho chúng ta cái nhìn sâu sắc về những ràng buộc mà các đề xuất/giải pháp của chúng ta phải nằm trong đó.
Đặt một cách khác, mà không biết lý do mã di sản ngăn bạn làm điều đó "đúng cách" thật khó để cung cấp giải pháp lý tưởng cho sự cố của bạn.
Trừ khi kiến trúc của bạn ngăn chặn ý tưởng tổng kiểm tra MD5 được đề xuất bởi Vishalgiri, tôi khuyên bạn nên dùng lời khuyên của mình. Một lần nữa, mặc dù không biết ứng dụng nào gọi các tệp DLL này và tại sao chúng không thể được ký, thật khó để biết điều này có hiệu quả với bạn hay không.
Ý tưởng của tôi có thể đơn giản hơn nhiều, nhưng bạn không thể điều chỉnh ứng dụng của mình để tải trước DLL từ vị trí được xác định trước? Ví dụ, chỉ cho phép nó tải từ thư mục BIN của ứng dụng chính của bạn, và thất bại - không bao giờ thử lại?
Xem liên kết này về cách tải từ một con đường riêng biệt: http://www.chilkatsoft.com/p/p_502.asp
Đây có thể là nhanh hơn so với văn bản tất cả các mã MD5 checksum. Mặc dù tôi cũng thích ý tưởng đó.
Nguồn
2012-04-07 03:48:25
* Do thiết kế/ký tên mạnh mẽ không phải là một tùy chọn * - sau đó thiết kế của bạn làm cho các hội đồng dễ bị tấn công DLL. –
Loại thiết kế nào có thể được, không cho phép các hội đồng được ký tên hoặc được đặt tên mạnh? –
Jim nó là một thiết kế xấu, lý do di sản, vấn đề hệ thống plugin vv Giống như một triệu ứng dụng thực tế khác ra khỏi đó. –