Τι είναι το COM Surrogate (dllhost.exe) και γιατί εκτελείται στον υπολογιστή μου;

Η αναζήτηση στη λίστα διαδικασιών σε έναν υπολογιστή με Windows χρησιμοποιώντας τη Διαχείριση εργασιών(Task Manager) είναι μια συνταγή για παράνοια. Υπάρχουν πολλά προγράμματα που ακούγονται παράξενα και συνήθως δεν υπάρχει τρόπος να μάθετε τι είναι καλό ή κακό για τον υπολογιστή σας. Το COM υποκατάστατο dllhost.exe είναι μόνο μια τέτοια διαδικασία, αλλά είναι πολύ πιο συνηθισμένη από ό,τι νομίζετε.

Τι είναι το COM Surrogate (dllhost.exe);

Το COM(COM) είναι συντομογραφία του Component Object Model . Αυτό είναι κάτι που εισήγαγε η Microsoft στις αρχές της δεκαετίας του '90 για να διευκολύνει τους προγραμματιστές να επεκτείνουν τη λειτουργικότητα του υπάρχοντος λογισμικού. Με άλλα λόγια, είναι κάπως σαν ένα σύστημα πρόσθετων που σας επιτρέπει να προσθέτετε νέες λειτουργίες σε υπάρχοντα προγράμματα όπως η Εξερεύνηση των Windows(Windows Explorer) .

Αυτό είναι εξαιρετικό για τη δυναμική βελτίωση του τι μπορεί να κάνει ένα πρόγραμμα, αλλά υπάρχει ένα μειονέκτημα. Εάν μια λειτουργική μονάδα COM έχει κακή κωδικοποίηση ή κολλάει για κάποιο λόγο, διακόπτει και το πρόγραμμα στο οποίο συνδέεται. Αυτό συμβαίνει επειδή τόσο το COM όσο και το κύριο πρόγραμμα εκτελούνται ως μία διαδικασία.

Εκεί μπαίνουν τα υποκατάστατα COM . Αυτή η προσέγγιση επιτρέπει στο (COM)COM να τρέχει στη δική του ξεχωριστή διαδικασία, σαν να ήταν το δικό του πρόγραμμα. Το κύριο πρόγραμμα και οι υποκατάστατες διαδικασίες COM μιλούν μεταξύ τους ανάλογα με τις ανάγκες. (COM)Αλλά εάν το υποκατάστατο COM καταρρεύσει για οποιονδήποτε λόγο, δεν προκαλεί τίποτα εκτός από τη δική του διαδικασία να διακοπεί. Αυτό καθιστά ένα πολύ πιο σταθερό σύστημα συνολικά.

Είναι το COM Surrogate(COM Surrogate) (dllhost.exe) ασφαλές(Safe) ;

Το εάν(Whether) το dllhost.exe είναι ασφαλές είναι μια δύσκολη ερώτηση που πρέπει να απαντηθεί, επειδή θα εξαρτηθεί από το συγκεκριμένο COM που εκτελείται. Συνήθως φιλοξενούν καλοήθεις διεργασίες που κάνουν χρήσιμα πράγματα, αλλά δεν είναι έξω από τη σφαίρα της πιθανότητας ότι μια κακώς κωδικοποιημένη COM ή κακόβουλο λογισμικό piggybacking στο υποκατάστατο πλαίσιο COM θα μπορούσε να προκαλέσει βλάβη ή να εκτελέσει κακόβουλο κώδικα.

Εύρεση της τοποθεσίας του COM Surrogate

Υπάρχει μόνο μία νόμιμη τοποθεσία για το αρχείο dllhost.exe και αυτή βρίσκεται μέσα στο φάκελο System32 μέσα στο φάκελο των Windows . Η προεπιλεγμένη διαδρομή είναι Windows > System32 στη μονάδα δίσκου συστήματος. Η μονάδα δίσκου συστήματος είναι συνήθως η μονάδα δίσκου C. Εάν βρείτε αυτό το αρχείο οπουδήποτε αλλού, πιθανότατα πρόκειται για ιό. Φροντίστε λοιπόν να το σαρώσετε!

Έλεγχος της νομιμότητας του COM Surrogate

Όπως αναφέρθηκε παραπάνω, το υποκατάστατο COM που βλέπετε στο Task Manager δεν είναι μια συγκεκριμένη εφαρμογή, είναι απλώς ένα κέλυφος για μια άλλη διαδικασία. Δεδομένου ότι δεν μπορούμε να αποκτήσουμε εύκολα πληροφορίες σχετικά με το τι εκτελείται πραγματικά σε μια συγκεκριμένη διαδικασία υποκατάστασης COM , ο μόνος πραγματικός τρόπος για να ελέγξουμε για ύποπτη συμπεριφορά είναι χρησιμοποιώντας ένα πρόγραμμα προστασίας από ιούς.

Φυσικά, θα πρέπει να εκτελείτε το πρόγραμμα προστασίας από ιούς(antivirus program) σε τακτά χρονικά διαστήματα, αλλά αν δείτε ένα υποκατάστατο COM που καταναλώνει πολλούς πόρους ή προκαλεί αστάθεια του συστήματος, αυτή μπορεί να είναι μια εξήγηση.

Και πάλι, η εν λόγω διαδικασία υποκατάστασης COM μπορεί να είναι απλώς λάθη και όχι κακόβουλη. Εάν έχετε αποθηκεύσει όλα τα έγγραφά σας, μπορείτε να προσπαθήσετε να τερματίσετε αναγκαστικά μια δεδομένη διαδικασία υποκατάστασης COM για να καταλάβετε τι κάνει. Οτιδήποτε κολλάει ή κολλάει αμέσως μετά την ολοκλήρωση της διαδικασίας είναι πιθανώς το σχετικό πρόγραμμα. Μόλις εντοπίσετε τον πιο πιθανό ένοχο, θα θελήσετε να επανεκκινήσετε τον υπολογιστή σας.

Διόρθωση σφαλμάτων COM Surrogate

Τα υποκατάστατα σφάλματα COM(COM) συμβαίνουν κατά καιρούς και είναι ίσως ο πιο συνηθισμένος λόγος που οι άνθρωποι αναζητούν το όνομα της διαδικασίας εξαρχής. Το σφάλμα "Το υποκατάστατο COM σταμάτησε να λειτουργεί" μπορεί να φαίνεται κρυπτικό στην αρχή. Τώρα που ξέρετε τι κάνει το COM subrogate, είναι προφανές ότι η διαδικασία κάνει πραγματικά τη δουλειά της.

Το υποκατάστατο COM(COM) προορίζεται για την προστασία των επεκτάσεων προγραμμάτων από την κατάρρευση της κύριας διαδικασίας που επεκτείνουν, επομένως η αιτία αυτού του σφάλματος μπορεί να εντοπιστεί σε οποιαδήποτε μονάδα COM εκτελούνταν εντός της υποκατάστατης.

Δεν υπάρχει εύκολος τρόπος να μάθετε ποια COM ήταν, αφού η ίδια η υποκατάστατη κρύβει τη συγκεκριμένη COM μέσα σε αυτήν. Υπάρχουν αρκετοί πιθανοί ύποπτοι:

  • Οι κωδικοποιητές βίντεο τρίτων κατασκευαστών δεν είναι ενημερωμένοι. Εάν έχετε, είτε αφαιρέστε τα είτε ενημερώστε τα.
  • Το πρόγραμμα προστασίας από ιούς μπορεί να παρεμβαίνει στο υποκατάστατο COM . Απενεργοποιήστε το προσωρινά. Εάν αυτό φαίνεται να είναι το πρόβλημα, μεταβείτε σε διαφορετικό antivirus ή δοκιμάστε να ενημερώσετε το δικό σας στην πιο πρόσφατη έκδοση, εάν υπάρχει.
  • Ελέγξτε τον δίσκο σας για σφάλματα χρησιμοποιώντας ένα βοηθητικό πρόγραμμα όπως το CHKDSK .
  • Ελέγξτε(Check) τα αρχεία συστήματος για κατεστραμμένα με τον Έλεγχο αρχείων συστήματος(System File Checker) .
  • Επαναφέρετε(Roll) τις πρόσφατες ενημερώσεις προγραμμάτων οδήγησης ή ενημερώστε συγκεκριμένα τα προγράμματα οδήγησης οθόνης και εκτυπωτή. Δοκιμάστε τόσο το τυπικό πρόγραμμα οδήγησης GPU(GPU driver) του κατασκευαστή όσο και την έκδοση OEM , εάν αυτό ισχύει για τον υπολογιστή σας.

Εάν θέλετε να μάθετε πώς να διαγνώσετε ακριβώς ποια COM εκτελείται εντός του υποκατάστατου, υπάρχει μια πιο τεχνική λύση.

Έλεγχος μέσα σε μια διαδικασία υποκατάστασης COM(COM Surrogate Process) με την Εξερεύνηση διεργασιών(Process Explorer)

Η Microsoft(Microsoft) διαθέτει ένα προαιρετικό βοηθητικό πρόγραμμα γνωστό ως Process Explorer . Είναι χρήσιμο για διάφορα πράγματα. Για παράδειγμα, εάν σας έχουν πει ότι μπορείτε να διαγράψετε έναν φάκελο επειδή ένα πρόγραμμα τον έχει ανοιχτό, μπορείτε να χρησιμοποιήσετε την Εξερεύνηση διεργασιών(Process Explorer) για να δείτε ποιο πρόγραμμα είναι και να το αναγκάσετε να κλείσει χωρίς να χρειάζεται να κάνετε επανεκκίνηση ολόκληρου του υπολογιστή.

Απλώς(Simply) κατεβάστε και εκτελέστε το Process Explorer και θα δείτε ένα παράθυρο(Window) όπως αυτό:

Θυμηθείτε(Remember) ότι το COM Surrogate ονομάζεται στην πραγματικότητα dllhost.exe. Αναζητήστε λοιπόν αυτό και τοποθετήστε το δείκτη του ποντικιού πάνω από την καταχώρηση. Στο μικρό αναδυόμενο παράθυρο, θα δείτε ποιο αρχείο DLL φιλοξενείται. Συνήθως αυτό σας δίνει αρκετές πληροφορίες για να γνωρίζετε ποιο πρόγραμμα είναι συνδεδεμένο σε αυτό. Εάν δεν είναι προφανές από το όνομα DLL , μπορείτε να το Google για μια πιο σαφή απάντηση.

COM On Over για ένα πάρτι

Ανακεφαλαιώνοντας, τώρα γνωρίζετε τι είναι τα COM(COMs) , τι κάνει ένας υποκατάστατος COM , πώς να διορθώσετε τα πιο συνηθισμένα προβλήματα και πώς να καταλάβετε με ποιον COM αντιμετωπίζετε. Το οποίο(Which) , ελπίζουμε, έχει ξεκαθαρίσει οριστικά τα προβλήματα που σχετίζονται με το COM .



About the author

Είμαι έμπειρος ειδικός στα windows 10 και 11/10, με εμπειρία τόσο σε προγράμματα περιήγησης όσο και σε εφαρμογές smartphone. Είμαι μηχανικός λογισμικού για περισσότερα από 15 χρόνια και έχω συνεργαστεί με μια σειρά από μεγάλες εταιρείες, όπως η Microsoft, η Google, η Apple, η Ubisoft και άλλες. Έχω διδάξει επίσης ανάπτυξη windows 10/11 σε επίπεδο κολεγίου.



Related posts