Η έγχυση κώδικα είναι συχνή στα Windows. Οι εφαρμογές «εισάγουν» κομμάτια του δικού τους κώδικα σε μια άλλη διαδικασία που τρέχει για να τροποποιήσει τη συμπεριφορά του. Αυτή η τεχνική μπορεί να χρησιμοποιηθεί για το καλό ή το κακό, αλλά με κάθε τρόπο μπορεί να προκαλέσει προβλήματα.
Η έγχυση κώδικα ονομάζεται επίσης συνήθως ένεση DLL επειδή ο εγχυμένος κώδικας έχει συχνά τη μορφή α Αρχείο DLL (βιβλιοθήκη δυναμικών συνδέσμων) . Ωστόσο, οι εφαρμογές θα μπορούσαν επίσης να εισάγουν άλλους τύπους κώδικα που δεν είναι DLL σε μια διαδικασία.
Σε τι χρησιμοποιείται η έγχυση κώδικα
Η έγχυση κώδικα χρησιμοποιείται για την επίτευξη όλων των ειδών κόλπων και λειτουργικότητας στα Windows. Ενώ τα νόμιμα προγράμματα το χρησιμοποιούν, χρησιμοποιείται επίσης από κακόβουλο λογισμικό. Για παράδειγμα:
- Τα προγράμματα προστασίας από ιούς συχνά εισάγουν κώδικα σε προγράμματα περιήγησης ιστού. Μπορούν να το χρησιμοποιήσουν για την παρακολούθηση της κυκλοφορίας του δικτύου και τον αποκλεισμό επικίνδυνου περιεχομένου ιστού, για παράδειγμα.
- Κακόβουλα προγράμματα ενδέχεται να προσθέσουν κώδικα στο πρόγραμμα περιήγησής σας για να παρακολουθείτε καλύτερα την περιήγησή σας, να κλέβετε προστατευμένες πληροφορίες όπως κωδικούς πρόσβασης και αριθμούς πιστωτικών καρτών και να αλλάζετε τις ρυθμίσεις του προγράμματος περιήγησής σας.
- Το Stardock's WindowBlinds, το οποίο θεματίζει τον υπολογιστή σας, εισάγει κώδικα τροποποιήστε τον τρόπο σχεδίασης των παραθύρων .
- Το Stardock's Fences εισάγει κώδικα στο αλλάξτε τον τρόπο λειτουργίας της επιφάνειας εργασίας των Windows .
- Αυτόματο κλειδί, που σας επιτρέπει δημιουργήστε σενάρια και αντιστοιχίστε τα πλήκτρα πρόσβασης σε όλο το σύστημα , εισάγει κώδικα για να το επιτύχει
- Το πρόγραμμα οδήγησης γραφικών μοιάζει με το NVIDIA να εισάγει DLL για να ολοκληρώσει μια ποικιλία εργασιών που σχετίζονται με γραφικά.
- Ορισμένα προγράμματα εισάγουν DLL για να προσθέσουν επιπλέον επιλογές μενού σε μια εφαρμογή.
- Τα εργαλεία εξαπάτησης παιχνιδιών PC συχνά εισάγουν κώδικα στα παιχνίδια για να τροποποιήσουν τη συμπεριφορά τους και να αποκτήσουν ένα άδικο πλεονέκτημα έναντι άλλων παικτών.
Είναι κακή η έγχυση κώδικα;
Αυτή η τεχνική χρησιμοποιείται συνεχώς από μια μεγάλη ποικιλία εφαρμογών στα Windows. Είναι ο μόνος πραγματικός τρόπος για να ολοκληρώσετε μια ποικιλία εργασιών. Σε σύγκριση με μια σύγχρονη πλατφόρμα για κινητά όπως το iOS της Apple ή το Android της Google, η επιφάνεια εργασίας των Windows είναι τόσο ισχυρή, διότι αν προσφέρει τέτοιου είδους ευελιξία στους προγραμματιστές.
Φυσικά, με όλη αυτή τη δύναμη υπάρχει κάποιος κίνδυνος. Η έγχυση κώδικα μπορεί να προκαλέσει προβλήματα και σφάλματα σε εφαρμογές. Η Google λέει ότι οι χρήστες των Windows που έχουν εισάγει κώδικα στο πρόγραμμα περιήγησής τους στο Chrome είναι 15% πιο πιθανό να αντιμετωπίσουν σφάλματα του Chrome, γι 'αυτό η Google εργάζεται για να το αποκλείσει. Η Microsoft σημειώνει ότι η έγχυση κώδικα θα μπορούσε να χρησιμοποιηθεί από κακόβουλες εφαρμογές για να παραβιάσει τις ρυθμίσεις του προγράμματος περιήγησης, και αυτός είναι ένας λόγος που έχει ήδη αποκλειστεί στο Edge
Η εκδήλωση της Microsoft παρέχει οδηγίες για να ελέγξετε εάν φορτώνονται DLL τρίτου μέρους στο Microsoft Outlook, καθώς προκαλούν τόσες πολλές διακοπές του Outlook.
Ως υπάλληλος της Microsoft το έβαλε σε ένα ιστολόγιο προγραμματιστών από το 2004:
Η ένεση DLL δεν είναι ποτέ ασφαλής. Μιλάτε για τη διαμόρφωση κώδικα σε μια διαδικασία που δεν σχεδιάστηκε, κατασκευάστηκε ή δοκιμάστηκε ποτέ από τον συντάκτη της διαδικασίας και ότι επιλέξατε ή δημιουργήσατε ένα νήμα για να εκτελέσετε αυτόν τον κώδικα. Διατρέχετε τον κίνδυνο να δημιουργήσετε θέματα συγχρονισμού, συγχρονισμού ή πόρων που δεν υπήρχαν πριν ή να επιδεινώσουν τα προβλήματα που υπήρχαν εκεί.
Με άλλα λόγια, η έγχυση κώδικα είναι ένα είδος βρώμικου hack. Σε έναν ιδανικό κόσμο, θα υπήρχε ένας ασφαλέστερος τρόπος για να επιτευχθεί αυτό που δεν προκάλεσε πιθανή αστάθεια. Ωστόσο, η έγχυση κώδικα είναι απλώς ένα κανονικό μέρος της πλατφόρμας εφαρμογής των Windows σήμερα. Συμβαίνει συνεχώς στο παρασκήνιο στον υπολογιστή σας με Windows. Μπορείτε να το ονομάσετε απαραίτητο κακό.
Πώς να ελέγξετε για ένεση DLL
Μπορείτε να ελέγξετε για έγχυση κώδικα στο σύστημά σας με το ισχυρό της Microsoft Εξερεύνηση διαδικασίας εφαρμογή. Πρόκειται ουσιαστικά για μια προηγμένη έκδοση του Task Manager με πρόσθετες λειτουργίες.
Πραγματοποιήστε λήψη και εκτέλεση της Εξερεύνησης διεργασιών εάν θέλετε να το κάνετε αυτό. Κάντε κλικ στην Προβολή> Κάτω παράθυρο Προβολή> DLL ή πατήστε Ctrl + D.
Επιλέξτε μια διαδικασία στο επάνω παράθυρο και κοιτάξτε στο κάτω τμήμα για να δείτε τα DLL που φορτώνονται. Η στήλη "Όνομα εταιρείας" παρέχει έναν χρήσιμο τρόπο φιλτραρίσματος αυτής της λίστας.
Για παράδειγμα, είναι φυσιολογικό να βλέπετε μια ποικιλία DLL που έχουν δημιουργηθεί από τη "Microsoft Corporation" εδώ, καθώς αποτελούν μέρος των Windows. Είναι επίσης φυσιολογικό να βλέπετε DLL από την ίδια εταιρεία με την εν λόγω διαδικασία - "Google Inc." στην περίπτωση του Chrome στο παρακάτω στιγμιότυπο οθόνης.
Μπορούμε επίσης να εντοπίσουμε μερικά DLL από το "AVAST Software" εδώ. Αυτό δείχνει ότι το λογισμικό antimalware Avast στο σύστημά μας εισάγει κώδικα όπως η "βιβλιοθήκη φίλτρων Avast Script Blocking" στο Chrome.
Δεν μπορείτε να κάνετε πολλά αν εντοπίσετε έγχυση κώδικα στο σύστημά σας - εκτός από την απεγκατάσταση του προγράμματος έγχυσης κώδικα για να αποτρέψετε την πρόκληση προβλημάτων. Για παράδειγμα, εάν το Chrome διακόπτεται τακτικά, ίσως θελήσετε να δείτε εάν υπάρχουν προγράμματα που εισάγουν κώδικα στο Chrome και απεγκαταστήστε τα για να αποτρέψετε την παραβίαση των διαδικασιών του Chrome.
Πώς λειτουργεί το Code Injection;
Η έγχυση κώδικα δεν τροποποιεί την υποκείμενη εφαρμογή στο δίσκο σας. Αντ 'αυτού, περιμένει την εκτέλεση αυτής της εφαρμογής και εισάγει πρόσθετο κώδικα σε αυτήν την τρέχουσα διαδικασία για να αλλάξει τον τρόπο λειτουργίας της.
Τα Windows περιλαμβάνουν μια ποικιλία διεπαφές προγραμματισμού εφαρμογών (API) που μπορεί να χρησιμοποιηθεί για έγχυση κώδικα. Μια διαδικασία μπορεί να προσκολληθεί σε μια διαδικασία στόχου, να εκχωρήσει μνήμη, να γράψει ένα DLL ή άλλο κώδικα σε αυτήν τη μνήμη και, στη συνέχεια, να δώσει εντολή στη διαδικασία στόχου να εκτελέσει τον κώδικα. Τα Windows δεν εμποδίζουν τις διαδικασίες στον υπολογιστή σας να παρεμβαίνουν μεταξύ τους έτσι.
Για περισσότερες τεχνικές πληροφορίες, ανατρέξτε σε αυτήν την ανάρτηση ιστολογίου εξηγώντας πώς οι προγραμματιστές μπορούν να εισάγουν DLL και αυτή η ματιά άλλοι τύποι έγχυσης κώδικα στα Windows .
Σε ορισμένες περιπτώσεις, κάποιος μπορεί να αλλάξει τον υποκείμενο κώδικα στο δίσκο - για παράδειγμα, αντικαθιστώντας ένα αρχείο DLL που συνοδεύει ένα παιχνίδι υπολογιστή με ένα τροποποιημένο για να επιτρέψει την εξαπάτηση ή την πειρατεία. Αυτό τεχνικά δεν είναι «έγχυση κώδικα». Ο κώδικας δεν εγχέεται σε μια τρέχουσα διαδικασία, αλλά το πρόγραμμα αντίθετα ξεγελάται για να φορτώσει ένα διαφορετικό DLL με το ίδιο όνομα.
Πιστωτική εικόνα: Λουκάτμε /Σχυττερστοκχ.κομ.