Erkennen einer dll-injection



  • Prinzipiell würde ich mal sagen ist es kein Problem Code/Daten unbemerkt in einen fremden Prozess zu laden, sie auszuführen dagegen schon eher.

    Eben das meinte ich. Die einzige mir bekannte "saubere" Möglichkeit die Ausführung injizierten Codes hinzubekommen ist eben CreateRemoteThread.
    Ansonsten muss man schon etwas brutaleres machen, z.B. den Anfang einer Funktion zu überschreiben deren Adresse man kennt (irgendwas aus KERNEL32 oder GDI oder so), und die das Programm wohl verwendet (GetMessage/HeapAlloc/... irgendeine der "beliebten" Funktionen halt).
    Das meinte ich mit "hijacken".

    ----

    was nützt einem eigentlich "nur" WriteProcessMemory() und VirtualAllocEx() bzw umgekehrt? eben ohne einen Thread ausführen zu können?

    Naja, nicht viel eben, ausser man ist etwas "brutal" (siehe oben).

    ----

    Aber einem Read/WriteProcessMemory () oder einem VirtualAllocEx () gegenüber ist ein Programm im Prinzip völlig hilflos ausgeliefert.
    Dagegen gibt es weder eine dokumentierte noch eine undokumentierte API. 😞

    Sicher? Ich bin mir nämlich fast sicher dass man für diese Funktionen globale Hooks setzen kann - wahrscheinlich bloss ausm Kernelmode raus, was u.U. einen Hilfstreiber nötig macht, aber naja. Gehen sollte es. Muss nochmal sehen ob ich genauere Infos dazu finde.


Anmelden zum Antworten