Τι είναι το COM Suprogate (dllhost.exe) και γιατί τρέχει στον υπολογιστή μου;
Αν περιπλανηθείτε στο Task Manager, υπάρχει μια καλή πιθανότητα να δείτε μία ή περισσότερες διεργασίες "COM Surrogate" που εκτελούνται σε έναν υπολογιστή Windows. Αυτές οι διαδικασίες έχουν το όνομα αρχείου "dllhost.exe" και αποτελούν μέρος του λειτουργικού συστήματος των Windows. Θα τα δείτε σε Windows 10, Windows 8, Windows 7 και ακόμα και σε παλαιότερες εκδόσεις των Windows.
Αυτό το άρθρο αποτελεί μέρος της συνεχιζόμενης σειράς μας που εξηγεί διάφορες διεργασίες που βρέθηκαν στο Task Manager, όπως το Runtime Broker, το svchost.exe, το dwm.exe, το ctfmon.exe, το rundll32.exe, το Adobe_Updater.exe και πολλά άλλα. Δεν ξέρω τι είναι αυτές οι υπηρεσίες; Καλύτερη έναρξη ανάγνωσης!
Τι είναι το COM υποκατάστατο (dllhost.exe)?
Το COM αντιπροσωπεύει το Μοντέλο Αντικειμένου Συστήματος. Πρόκειται για μια διεπαφή που εισήγαγε η Microsoft το 1993, η οποία επιτρέπει στους προγραμματιστές να δημιουργούν "αντικείμενα COM" χρησιμοποιώντας μια ποικιλία διαφορετικών γλωσσών προγραμματισμού. Ουσιαστικά, αυτά τα αντικείμενα COM συνδέονται σε άλλες εφαρμογές και επεκτείνονται.
Για παράδειγμα, ο διαχειριστής αρχείων των Windows χρησιμοποιεί αντικείμενα COM για τη δημιουργία μικρογραφικών εικόνων εικόνων και άλλων αρχείων όταν ανοίγει ένα φάκελο. Το αντικείμενο COM χειρίζεται την επεξεργασία εικόνων, βίντεο και άλλων αρχείων για τη δημιουργία των μικρογραφιών. Αυτό επιτρέπει στον File Explorer να επεκταθεί με υποστήριξη για νέους κωδικοποιητές βίντεο, για παράδειγμα.
Ωστόσο, αυτό μπορεί να οδηγήσει σε προβλήματα. Εάν ένα αντικείμενο COM σβήσει, θα μειώσει τη διαδικασία κεντρικού υπολογιστή. Σε ένα σημείο, ήταν κοινό για αυτά τα αντικείμενα COM που δημιουργούν μικρογραφίες να συντρίψουν και να καταργήσουν ολόκληρη τη διαδικασία των Windows Explorer μαζί τους.
Για να επιδιορθώσετε αυτό το είδος προβλήματος, η Microsoft δημιούργησε τη διαδικασία COM Surrogate. Η διαδικασία COM Surrogate εκτελεί ένα αντικείμενο COM εκτός της αρχικής διαδικασίας που το ζήτησε. Εάν το αντικείμενο COM διακόπτεται, θα καταργήσει μόνο τη διαδικασία του COM Surrogate και η αρχική διεργασία υποδοχής δεν θα καταρρεύσει. Για παράδειγμα, η Εξερεύνηση των Windows (τώρα γνωστή ως File Explorer) ξεκινά μια διαδικασία COM Surrogate όποτε χρειάζεται να δημιουργήσει εικόνες μικρογραφιών. Η διαδικασία COM Suprogate φιλοξενεί το αντικείμενο COM που κάνει την εργασία. Εάν το αντικείμενο COM διακόπτεται, μόνο το COM Surrogate σβήνει και η αρχική διαδικασία File Explorer θα συνεχίσει να φορτώνει.
"Με άλλα λόγια", όπως λέει το επίσημο ιστολόγιο της Microsoft The Old New Thing, "το COM Surrogate είναι το Δεν αισθάνομαι καλά για αυτόν τον κώδικα, επομένως θα ζητήσω από την COM να την φιλοξενήσει σε άλλη διαδικασία. Με αυτόν τον τρόπο, αν συντρίψει, είναι η θανάσιμη διαδικασία COM Surrogate που συντρίβεται αντί για εμένα επεξεργάζομαι, διαδικασία."
Και, όπως ίσως έχετε μαντέψει, το COM Surrogate ονομάζεται "dllhost.exe" επειδή τα αντικείμενα COM που φιλοξενεί είναι αρχεία .dll.
Πώς μπορώ να πω ποιο αντικείμενο COM ένα υποκατάστατο COM φιλοξενεί?
Ο τυπικός Διαχειριστής εργασιών των Windows δεν σας παρέχει περισσότερες πληροφορίες σχετικά με το αντικείμενο COM ή το αρχείο DLL που φιλοξενεί μια διαδικασία COM Surrogate. Αν θέλετε να δείτε αυτές τις πληροφορίες, συνιστούμε το εργαλείο Διερεύνησης διεργασιών της Microsoft. Κατεβάστε το και μπορείτε απλά να το ποντίκι πάνω από μια διαδικασία dllhost.exe στον Process Explorer για να δείτε ποιο αρχείο COM ή DLL φιλοξενεί.
Όπως μπορούμε να δούμε στην παρακάτω εικόνα, αυτή η συγκεκριμένη διαδικασία dllhost.exe φιλοξενεί το αντικείμενο CortanaMapiHelper.dll.
Μπορώ να την απενεργοποιήσω?
Δεν μπορείτε να απενεργοποιήσετε τη διαδικασία COM Surrogate, καθώς είναι απαραίτητο μέρος των Windows. Είναι πραγματικά μόνο μια διαδικασία κοντέινερ που χρησιμοποιείται για την εκτέλεση αντικειμένων COM που θέλουν να τρέξουν άλλες διαδικασίες. Για παράδειγμα, η Εξερεύνηση των Windows (ή το File Explorer) δημιουργεί τακτικά μια διαδικασία COM Surrogate για τη δημιουργία μικρογραφιών όταν ανοίγετε ένα φάκελο. Άλλα προγράμματα που χρησιμοποιείτε μπορούν επίσης να δημιουργήσουν τις δικές τους διαδικασίες υποκατάστασης COM. Όλες οι διαδικασίες dllhost.exe στο σύστημά σας ξεκίνησαν από ένα άλλο πρόγραμμα για να κάνουν κάτι που το πρόγραμμα θέλει να γίνει.
Είναι ένας ιός?
Η ίδια η διαδικασία COM Surrogate δεν είναι ιός και αποτελεί φυσιολογικό μέρος των Windows. Ωστόσο, μπορεί να χρησιμοποιηθεί από κακόβουλο λογισμικό. Για παράδειγμα, το κακόβουλο λογισμικό Trojan.Poweliks χρησιμοποιεί τις διεργασίες dllhost.exe για να κάνει τη βρώμικη δουλειά του. Εάν δείτε μεγάλο αριθμό dllhost.exe διεργασιών που εκτελούνται και χρησιμοποιούν μια αξιοσημείωτη ποσότητα CPU, αυτό μπορεί να υποδηλώνει ότι η διαδικασία COM Surrogate καταχράται από ιό ή άλλη κακόβουλη εφαρμογή.
Αν ανησυχείτε ότι το κακόβουλο λογισμικό καταχράται τη διαδικασία dllhost.exe ή COM Surrogate, θα πρέπει να εκτελέσετε μια σάρωση με το πρόγραμμα προστασίας από ιούς που προτιμάτε για να βρείτε και να αφαιρέσετε οποιοδήποτε κακόβουλο λογισμικό που υπάρχει στο σύστημά σας. Αν το πρόγραμμα προστασίας από ιούς της επιλογής σας λέει ότι όλα είναι καλά, αλλά είστε ύποπτοι, εκτελέστε μια σάρωση με άλλο εργαλείο προστασίας από ιούς για να πάρετε μια δεύτερη γνώμη.