Code-injectie is een veel voorkomende techniek op Windows. Applicaties zullen hun eigen code in een ander lopend proces "injecteren" om het gedrag van dat proces te veranderen. Deze techniek kan voor goede of slechte doeleinden worden gebruikt, maar kan hoe dan ook ongewenste problemen veroorzaken. Antivirussoftware , zoals antivirussoftware , injecteert code in Chrome om het gedrag ervan te wijzigen. Dit leidt ertoe dat browserproblemen vaker voorkomen.
Code-injectie wordt ook vaak DLL-injectie genoemd, omdat de stukjes code die in andere processen worden geïnjecteerd meestal de vorm hebben van DLL-bestanden : Dynamic Link Library. Toepassingen kunnen echter soms ook andere soorten code, die niet in de vorm van DLL-bestanden zijn, in een ander proces injecteren.

Waar wordt code-injectie voor gebruikt?
Code-injectie wordt gebruikt om alle trucs en functies op Windows uit te voeren. Code Injection wordt gebruikt door zowel legitieme software als malware, bijvoorbeeld:
- Antivirusprogramma's voegen vaak scripts in webbrowsers in en gebruiken deze om het netwerkverkeer te controleren en gevaarlijke webinhoud te blokkeren.
- Schadelijke programma's kunnen code aan uw webbrowser toevoegen om uw browsegeschiedenis en gegevens bij te houden en vervolgens beschermde informatie stelen, zoals wachtwoorden, creditcardnummers en wijzigingen die in uw browser zijn geïnstalleerd.
- WindowBlinds van Stardock injecteert code om te wijzigen hoe vensters worden geopend.
- Stardock's Fences injecteert code om de manier waarop Windows werkt te veranderen.
- AutoHotkey voegt codes in waarmee u scripts kunt maken en systeembrede sneltoetsen kunt toewijzen.
- Grafische stuurprogramma's zoals NVIDIA's verzenden DLL-bestanden om een verscheidenheid aan grafische taken uit te voeren.
- Sommige programma's injecteren DLL-bestanden om extra opties aan een applicatie toe te voegen.
- Cheats voor pc-games injecteren vaak code in games om de kenmerken ervan te wijzigen, waardoor valsspelers een oneerlijk voordeel krijgen ten opzichte van andere spelers.
Is code-injectie slecht?
Deze techniek wordt voortdurend gebruikt door veel verschillende toepassingen op Windows. Het is werkelijk uniek voor het uitvoeren van een verscheidenheid aan taken. Vergeleken met een modern mobiel besturingssysteemplatform zoals Apple's iOS of Google's Android is Windows veel krachtiger omdat het ontwikkelaars deze flexibiliteit biedt.
Natuurlijk zijn er ook enkele gevaren aan verbonden. Code-injectie kan problemen en fouten in de applicatie veroorzaken. Google zegt dat Windows-gebruikers die software gebruiken die code in Chrome injecteert 15% meer kans hebben op fouten in Chrome dan normaal, en dat is de reden waarom Google werkt aan het voorkomen van code-injectie.
Microsoft biedt zelfs instructies zodat gebruikers kunnen controleren of DLL-bestanden van derden in Microsoft Outlook worden geladen, omdat deze bestanden in Outlook veel problemen zullen veroorzaken.
Een Microsoft-medewerker deelde in 2004 op een blog over dit probleem:
DLL-bestanden die in andere applicaties worden geïnjecteerd, zijn nooit veilig, omdat de code illegaal in een proces terechtkomt dat niet door de auteur van dat proces is ontworpen, gebouwd of getest. U loopt het risico dat u tegen synchronisatie- of bronproblemen aanloopt die u nog nooit eerder bent tegengekomen, of dat deze bestanden bestaande problemen in de toepassing verergeren.
Met andere woorden: Code Injection is een illegale hack. Code-injectie is echter slechts een veelgebruikte techniek die tegenwoordig op het Windows-applicatieplatform wordt aangetroffen. Het wordt continu op de achtergrond in Windows op uw pc gebruikt.
Hoe u DLL-bestanden kunt controleren die in de applicatie zijn geïnjecteerd.
U kunt Code Injection op uw systeem controleren met behulp van de Process Explorer-applicatie van Microsoft. Kortom, deze applicatie is een verbeterde versie van Taakbeheer, uitgebreid met de nodige extra functies.
Eerst downloadt en voert u Process Explorer uit. Klik vervolgens op Beeld > Onderste deelvenster > DLL's of druk op Ctrl + D.
![Wat is code-injectie op Windows? Wat is code-injectie op Windows?]()
Selecteer een proces in het bovenste deelvenster en kijk in het onderstaande deelvenster om te zien welke DLL-bestanden worden geladen. De kolom Bedrijfsnaam biedt u een handige manier om deze lijst te filteren.
Bijvoorbeeld: wanneer u een aantal DLL-bestanden ziet die zijn gemaakt door Microsoft Corporation, is dit volkomen normaal omdat ze deel uitmaken van Windows. Het is volkomen normaal dat DLL-bestanden afkomstig van de moederbedrijven van de applicatie in die applicatie worden aangetroffen (bijvoorbeeld "Google Inc" in de onderstaande schermafbeelding).
Volgens de onderstaande afbeelding kunnen we in deze lijst ook enkele DLL-bestanden vinden die zijn gemaakt door "AVAST Software". Hieruit blijkt dat de antispywaretoepassing van Avast op het systeem code zoals 'Avast Script Blocking filterbibliotheek' in Chrome injecteert.
![Wat is code-injectie op Windows? Wat is code-injectie op Windows?]()
Zelfs als u code-injectie op uw systeem aantreft, kunt u niet veel anders doen dan het programma verwijderen dat de code injecteert om te voorkomen dat dit verdere problemen veroorzaakt. Als uw Chrome bijvoorbeeld regelmatig crasht, kunt u controleren of er programma's code in Chrome injecteren en als dit het geval is, kunt u deze programma's verwijderen om te voorkomen dat ze uw voortgang verder verstoren.
Hoe werkt code-injectie?
Code-injectie heeft geen invloed op de onderliggende applicaties die op uw schijf zijn opgeslagen. In plaats daarvan wacht het totdat de applicatie wordt gestart en injecteert vervolgens code in het lopende proces om de manier waarop dat proces werkt te veranderen.
Zoals we allemaal weten, bevat Windows een reeks application programming interfaces (API's) die kunnen worden gebruikt voor code-injectie. Een proces kan zichzelf aan een doelproces koppelen, geheugen toewijzen, vervolgens een DLL of andere code in dat geheugen schrijven en het doelproces opdracht geven de code uit te voeren. Windows verhindert absoluut niet dat processen op uw computer elkaar op deze manier verstoren.
In sommige gevallen kan iemand de basiscode op de schijf wijzigen, bijvoorbeeld door het DLL-bestand dat bij een pc-game wordt geleverd te vervangen door een ander stuk code dat is aangepast, kan men valsspelen in het spel of inbreuk op het auteursrecht maken. Technisch gezien is dit geen code-injectie, omdat de code niet in actieve processen wordt geïnjecteerd, maar in plaats daarvan wordt het proces misleid met een ander DLL-bestand met dezelfde naam.
Bekijk meer: