Code Injection este o tehnică foarte comună pe Windows. Aplicațiile își vor „injecta” propriul cod într-un alt proces care rulează pentru a schimba comportamentul procesului respectiv. Această tehnică poate fi folosită în scopuri bune sau rele, dar în orice caz poate cauza probleme nedorite. Software-ul antivirus , cum ar fi software-ul antivirus , injectează cod în Chrome pentru a-și modifica comportamentul. Acest lucru duce la problemele de browser care apar mai frecvent.
Injectarea de cod este adesea numită injecție DLL deoarece bucățile de cod injectate în alte procese sunt de obicei sub formă de fișiere DLL - Dynamic Link Library. Cu toate acestea, aplicațiile pot injecta uneori și alte tipuri de cod care nu sunt sub formă de fișiere DLL într-un alt proces.

Pentru ce se utilizează Code Injection?
Code Injection este folosit pentru a efectua toate trucurile și funcțiile pe Windows. Code Injection este utilizat atât de software-ul legitim, cât și de malware, de exemplu:
- Programele antivirus introduc adesea scripturi în browsere web și le folosesc pentru a monitoriza traficul în rețea și pentru a bloca conținutul web periculos.
- Programele rău intenționate pot adăuga cod la browserul dvs. web pentru a urmări istoricul și informațiile dvs. de navigare, apoi pot fura informații protejate, cum ar fi parole, numere de card de credit și modificări instalate în browser.
- WindowBlinds de la Stardock , injectează cod pentru a modifica modul în care sunt deschise ferestrele.
- Stardock's Fences injectează cod pentru a schimba modul în care funcționează Windows.
- AutoHotkey inserează coduri pentru a vă permite să creați scripturi și să atribuiți taste rapide la nivelul întregului sistem.
- Driverele grafice precum NVIDIA trimit fișiere DLL pentru a efectua o varietate de sarcini legate de grafică.
- Unele programe injectează fișiere DLL pentru a adăuga opțiuni suplimentare unei aplicații.
- Trucurile jocurilor pentru PC injectează adesea cod în jocuri pentru a le modifica caracteristicile, oferind astfel trișorilor un avantaj nedrept față de ceilalți jucători.
Este injectarea codului proastă?
Această tehnică este utilizată în mod constant de multe aplicații diferite pe Windows. Este cu adevărat unic pentru a îndeplini o varietate de sarcini. În comparație cu o platformă modernă de sistem de operare mobil precum iOS de la Apple sau Android de la Google, Windows este mult mai puternic deoarece oferă această flexibilitate dezvoltatorilor.
Desigur, există și unele pericole implicate. Injectarea codului poate cauza probleme și erori în aplicație. Google spune că utilizatorii de Windows care includ software care injectează cod în Chrome au cu 15% mai multe șanse de a întâmpina erori pe Chrome decât de obicei și de aceea Google lucrează pentru a preveni injectarea de cod.
Microsoft chiar oferă instrucțiuni pentru ca utilizatorii să poată verifica dacă fișierele DLL de la terțe părți sunt încărcate în Microsoft Outlook, deoarece aceste fișiere vor cauza o mulțime de probleme în Outlook.
Un angajat Microsoft a împărtășit despre această problemă pe un blog în 2004:
Fișierele DLL injectate în alte aplicații nu sunt niciodată sigure, deoarece codul intră ilegal într-un proces care nu a fost proiectat, construit sau testat de autorul procesului respectiv. Riscați să întâlniți probleme de sincronizare sau de resurse pe care nu le-ați mai întâlnit până acum, sau aceste fișiere vor exacerba problemele existente în aplicație.
Cu alte cuvinte, Code Injection este un hack ilegal. Cu toate acestea, Code Injection este doar o tehnică comună găsită astăzi pe platforma de aplicații Windows. Este folosit continuu în fundal în Windows pe computer.
Cum să verificați fișierele DLL care au fost injectate în aplicație.
Puteți verifica Code Injection pe sistemul dvs. utilizând aplicația Microsoft Process Explorer. Practic, această aplicație este o versiune îmbunătățită a Managerului de activități îmbunătățită cu caracteristici suplimentare necesare.
Mai întâi descărcați și rulați Process Explorer. Apoi faceți clic pe Vizualizare > Vizualizare panou inferior > DLL-uri sau apăsați Ctrl + D.
![Ce este injectarea de cod pe Windows? Ce este injectarea de cod pe Windows?]()
Selectați un proces din panoul de sus și priviți panoul de mai jos pentru a vedea ce fișiere DLL sunt încărcate. Coloana Nume companie vă va oferi o modalitate utilă de a filtra această listă.
De exemplu: când vedeți o grămadă de fișiere DLL create de Microsoft Corporation, acest lucru este complet normal, deoarece acestea fac parte din Windows. Este complet normal ca fișierele DLL care provin de la companiile-mamă ale aplicației să fie găsite în aplicația respectivă (de exemplu, „Google Inc” în captura de ecran de mai jos).
Conform imaginii de mai jos, putem identifica și câteva fișiere DLL create de „AVAST Software” în această listă. Aceasta arată că aplicația anti-spyware Avast de pe sistem injectează cod precum „Biblioteca de filtre Avast Script Blocking” în Chrome.
![Ce este injectarea de cod pe Windows? Ce este injectarea de cod pe Windows?]()
Chiar dacă găsiți injectarea de cod în sistemul dvs., nu aveți multe lucruri de făcut, în afară de dezinstalarea programului care injectează codul pentru a preveni ca acesta să cauzeze alte probleme. De exemplu, dacă Chrome se blochează frecvent, puteți verifica dacă vreun program injectează cod în Chrome și, dacă da, dezinstalați acele programe pentru a preveni interferarea în continuare cu progresul dvs. Chrome.
Cum funcționează Code Injection?
Injecția de cod nu afectează aplicațiile de bază stocate pe unitatea dvs. În schimb, așteaptă până când aplicația este lansată și apoi injectează cod în procesul care rulează pentru a schimba modul în care funcționează acel proces.
După cum știm cu toții, Windows conține o serie de interfețe de programare a aplicațiilor (API) care pot fi utilizate pentru injectarea de cod. Un proces se poate atașa unui proces țintă, alocă memorie, apoi scrie un DLL sau alt cod în acea memorie și instruiește procesul țintă să execute codul. Windows nu împiedică în mod absolut procesele de pe computer să interfereze între ele astfel.
În unele cazuri, cineva poate schimba codul de bază de pe unitate, de exemplu, înlocuind fișierul DLL care vine cu un joc pentru PC cu o altă bucată de cod care a fost modificată, se poate înșela jocul sau încălca drepturile de autor. Din punct de vedere tehnic, aceasta nu este injectare de cod, deoarece codul nu este injectat în procesele care rulează, ci procesul este păcălit cu un alt fișier DLL cu același nume.
Vezi mai mult: