<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=DLL-Injection</id>
	<title>DLL-Injection - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=DLL-Injection"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=DLL-Injection&amp;action=history"/>
	<updated>2026-05-17T23:42:15Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=DLL-Injection&amp;diff=978453&amp;oldid=prev</id>
		<title>imported&gt;Carnivore-Asylum: Tut mir leid, ich hab den Source total verfrickelt. Hab den jetzt rausgenommen. Wer den Funktionierenden haben will bitte in der englichsprachigen WIkipedia (selber Artikelname) abstauben ..</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=DLL-Injection&amp;diff=978453&amp;oldid=prev"/>
		<updated>2026-01-01T08:25:47Z</updated>

		<summary type="html">&lt;p&gt;Tut mir leid, ich hab den Source total verfrickelt. Hab den jetzt rausgenommen. Wer den Funktionierenden haben will bitte in der englichsprachigen WIkipedia (selber Artikelname) abstauben ..&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In der [[Informatik]] bezeichnet &amp;#039;&amp;#039;&amp;#039;DLL-Injection&amp;#039;&amp;#039;&amp;#039; eine Technik, mit der man [[Maschinencode|Code]] im Adressraum eines anderen [[Prozess (Informatik)|Prozesses]] zur Ausführung bringt, indem man diesen Prozess zwingt, eine programmfremde [[Dynamic Link Library]] (DLL) zu laden. Im Prinzip ist diese Technik bei allen [[Betriebssystem]]en verfügbar, die [[Programmbibliothek#Dynamische Bibliotheken|dynamische Bibliotheken]] unterstützen, der Begriff DLL-Injection bezieht sich jedoch gewöhnlich auf das Betriebssystem [[Microsoft Windows]].&lt;br /&gt;
&lt;br /&gt;
Diese Technik wird nur benötigt, wenn der [[Quellcode]] eines [[Computerprogramm|Programms]], dessen Verhalten man beeinflussen möchte, nicht verfügbar ist. Somit wird DLL-Injection häufig von sogenannten Third-Party Anbietern &amp;lt;!-- tut mir leid, finde weder einen adäquaten deutschen Begriff, noch einen passenden Link--&amp;gt; genutzt, um das Verhalten eines Programms in einer Weise anzupassen, die vom Entwickler des ursprünglichen Programms nicht vorgesehen wurde. Ein typisches Beispiel für eine die Technik der DLL-Injection nutzende Anwendung ist ein [[Profiler (Programmierung)|Profiler]].&lt;br /&gt;
&lt;br /&gt;
== Verfügbare Techniken unter Windows ==&lt;br /&gt;
Unter Microsoft Windows gibt es verschiedene Techniken, eine DLL-Injection zu bewerkstelligen. Die wichtigsten sind dabei folgende:&lt;br /&gt;
* Windows-Registry: In der [[Windows-Registrierungsdatenbank|Registrierung]] (&amp;#039;&amp;#039;registry&amp;#039;&amp;#039;) können unter dem key &amp;quot;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs&amp;quot; DLLs angegeben werden, die global bei dem Start jedes Programms zusätzlich geladen werden.&lt;br /&gt;
* Hooks: Durch die Nutzung von [[Hook (Informatik)|Windows-Hooks]] ist es möglich, eigene DLLs an fremde Prozesse (sowohl selektiv, als auch global) anzuhängen. Zusätzlich lassen sich mithilfe dieser Technik gleich bestimmte Programmaktionen abfangen/verhindern (siehe [[Hook (Informatik)|Windows-Hooks]]).&lt;br /&gt;
* CreateRemoteThread: Die CreateRemoteThread API ermöglicht es, einen Thread von einer beliebigen Speicheradresse mit der Übergabe eines Arguments zu starten. Dadurch ist es möglich, bei Aufruf der Speicheradresse, in welcher die LoadLibrary API eines Prozesses liegt, mit dem Argument des zu ladenden DLL-Namens diese DLL in einen fremden Prozess zu laden.&lt;br /&gt;
* Direkter [[Speicherzugriff]]: Mithilfe der Windows-Funktionen AllocMemory und WriteMemory ist es möglich, direkt auf den Speicher fremder Prozesse zuzugreifen. So lässt sich neuer Speicher (AllocMemory) anfordern und in diesen eine eigene Funktion zum Nachladen der eigenen DLL schreiben.&lt;br /&gt;
&lt;br /&gt;
* Durch Nutzung von Betriebssystemfunktionen ([[Programmierschnittstelle|APIs]]) zur Manipulation von Prozessen (&amp;#039;&amp;#039;process manipulations functions&amp;#039;&amp;#039;) kann das Nachladen einer zusätzlichen DLL erreicht werden.&lt;br /&gt;
&lt;br /&gt;
== Nutzung durch bösartige Software ==&lt;br /&gt;
Die Nutzung von DLL-Injection ist für [[Malware|bösartige Software]] sehr attraktiv. Diese Technik ermöglicht es, Code unter dem Deckmantel eines anderen Programms auszuführen. Dies ist deshalb interessant, da dadurch Zugriffe auf das [[Internet]] vor einer [[Personal Firewall|Desktop-Firewall]] verschleiert werden können. Hierüber können beispielsweise auf dem infizierten Computer ausgespähte [[Kennwort|Passwörter]] unbemerkt versendet werden. Um diesem Problem zu begegnen, versuchen einige Desktop-Firewalls, durch eine Analyse des Systems eine DLL-Injection zu erkennen, was ihnen jedoch nicht immer gelingt.&lt;br /&gt;
&lt;br /&gt;
== Gegenmaßnahmen ==&lt;br /&gt;
* Auf geschützte Prozesse (&amp;#039;&amp;#039;protected process&amp;#039;&amp;#039;, mit [[Microsoft Windows Vista|Windows Vista]] für den Protected Media Path eingeführt) kann nicht zugegriffen werden, sofern der schreibende Prozess nicht auch ein geschützter Prozess ist&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Jeffrey Richter: &amp;#039;&amp;#039;Programming Applications for Microsoft Windows.&amp;#039;&amp;#039; 4th edition. Microsoft Press, Redmond WA 1999, ISBN 1-57231-996-8 (&amp;#039;&amp;#039;Microsoft Programming Series&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung|Dll-Injection]]&lt;br /&gt;
[[Kategorie:Schadprogramm|Dll-Injection]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Carnivore-Asylum</name></author>
	</entry>
</feed>