Thế nào là COM COM Surrogate, (dllhost.exe) và tại sao nó lại chạy trên PC của tôi?
Nếu bạn chọc ngoáy trong Trình quản lý tác vụ của mình, rất có thể bạn sẽ thấy một hoặc nhiều quy trình COM COM Surrogate nghiến đang chạy trên PC Windows. Các quy trình này có tên tệp là dllhost.exe, và là một phần của hệ điều hành Windows. Bạn sẽ thấy chúng trên Windows 10, Windows 8, Windows 7 và thậm chí các phiên bản Windows cũ hơn.
Bài viết này là một phần trong chuỗi liên tục của chúng tôi giải thích các quy trình khác nhau được tìm thấy trong Trình quản lý tác vụ, như Runtime Broker, svchost.exe, dwm.exe, ctfmon.exe, rundll32.exe, Adobe_Updater.exe và nhiều quy trình khác. Không biết những dịch vụ đó là gì? Bắt đầu đọc tốt hơn!
COM Surrogate là gì (dllhost.exe)?
COM là viết tắt của Mô hình Đối tượng Thành phần. Đây là một giao diện được Microsoft giới thiệu trở lại vào năm 1993, cho phép các nhà phát triển tạo ra các đối tượng COM COM bằng cách sử dụng nhiều ngôn ngữ lập trình khác nhau. Về cơ bản, các đối tượng COM này cắm vào các ứng dụng khác và mở rộng chúng.
Ví dụ: trình quản lý tệp Windows sử dụng các đối tượng COM để tạo hình thu nhỏ của hình ảnh và các tệp khác khi mở thư mục. Đối tượng COM xử lý hình ảnh, video và các tệp khác để tạo hình thu nhỏ. Điều này cho phép File Explorer được mở rộng với sự hỗ trợ cho các codec video mới, ví dụ.
Tuy nhiên, điều này có thể dẫn đến các vấn đề. Nếu một đối tượng COM gặp sự cố, nó sẽ gỡ bỏ quá trình máy chủ của nó. Tại một thời điểm, thông thường các đối tượng COM tạo hình thu nhỏ này gặp sự cố và phá hủy toàn bộ quy trình Windows Explorer với chúng.
Để khắc phục loại sự cố này, Microsoft đã tạo quy trình COM Surrogate. Quá trình COM Surrogate chạy một đối tượng COM bên ngoài quy trình ban đầu đã yêu cầu nó. Nếu đối tượng COM gặp sự cố, nó sẽ chỉ làm mất quá trình COM Surrogate và quá trình máy chủ ban đầu sẽ không gặp sự cố. Ví dụ: Windows Explorer (hiện được gọi là File Explorer) bắt đầu quá trình COM Surrogate bất cứ khi nào cần để tạo hình thu nhỏ. Quá trình COM Surrogate lưu trữ đối tượng COM thực hiện công việc. Nếu đối tượng COM gặp sự cố, chỉ có COM Surrogate gặp sự cố và quá trình File Explorer ban đầu sẽ tiếp tục vận chuyển.
Nói cách khác, Tử, như blog chính thức của Microsoft The Old New Thing đặt nó, thì Thay thế COM là thay thế Tôi không cảm thấy tốt về mã này, vì vậy tôi sẽ yêu cầu COM lưu trữ nó trong một quy trình khác. Theo cách đó, nếu nó gặp sự cố, đó là quá trình hy sinh COM thay thế xảy ra thay vì tôi quá trình."
Và, như bạn có thể đoán, COM Surrogate được đặt tên là dllhost.exe, vì các đối tượng COM mà nó lưu trữ là các tệp dll.
Làm thế nào tôi có thể biết đối tượng COM nào mà COM Surrogate đang lưu trữ?
Trình quản lý tác vụ Windows tiêu chuẩn không cung cấp cho bạn thêm thông tin nào về đối tượng COM hoặc tệp DLL mà quá trình COM Surrogate đang lưu trữ. Nếu bạn muốn xem thông tin này, chúng tôi khuyên dùng công cụ Process Explorer của Microsoft. Tải xuống và bạn chỉ có thể di chuột qua quy trình dllhost.exe trong Process Explorer để xem tệp COM Object hoặc tệp DLL nào đang lưu trữ.
Như chúng ta có thể thấy trong ảnh chụp màn hình bên dưới, quy trình dllhost.exe cụ thể này đang lưu trữ đối tượng CortanaMapiHelper.dll.
Tôi có thể vô hiệu hóa nó?
Bạn không thể vô hiệu hóa quá trình COM Surrogate, vì đây là một phần cần thiết của Windows. Đây thực sự chỉ là một quy trình chứa được sử dụng để chạy các đối tượng COM mà các quy trình khác muốn chạy. Ví dụ: Windows Explorer (hoặc File Explorer) thường xuyên tạo quy trình COM Surrogate để tạo hình thu nhỏ khi bạn mở thư mục. Các chương trình khác bạn sử dụng cũng có thể tạo các quy trình COM Surrogate của riêng họ. Tất cả các quy trình dllhost.exe trên hệ thống của bạn đã được bắt đầu bởi một chương trình khác để thực hiện điều gì đó mà chương trình muốn thực hiện.
Nó có phải là virus không?
Bản thân quá trình COM Surrogate không phải là virus và là một phần bình thường của Windows. Tuy nhiên, nó có thể được sử dụng bởi phần mềm độc hại. Ví dụ: phần mềm độc hại Trojan.Poweliks sử dụng các quy trình dllhost.exe để thực hiện công việc bẩn thỉu của nó. Nếu bạn thấy một số lượng lớn các tiến trình dllhost.exe đang chạy và chúng đang sử dụng một lượng CPU đáng chú ý, điều đó có thể cho thấy quá trình COM Surrogate đang bị lạm dụng bởi virus hoặc ứng dụng độc hại khác.
Nếu bạn lo ngại rằng phần mềm độc hại đang lạm dụng quy trình dllhost.exe hoặc COM Surrogate, bạn nên thực hiện quét với chương trình chống vi-rút ưa thích để tìm và xóa bất kỳ phần mềm độc hại nào có trên hệ thống của bạn. Nếu chương trình chống vi-rút của bạn cho biết mọi thứ đều ổn nhưng bạn nghi ngờ, hãy quét bằng một công cụ chống vi-rút khác để có ý kiến thứ hai.