Diskussion:DLL-Injection

aus HaBo WiKi, der freien Wissensdatenbank von http://www.hackerboard.de
Wechseln zu: Navigation, Suche

FreeLibrary

Die DLL-Injection wurde gut erklärt, interessant wäre meiner Meinung nach aber noch wie man die DLL anschließend wieder raus bekommt (Uninject über FreeLibrary). Es ist zum Beispiel beim Debuggen teilweise umständlich, wenn man die Zielanwendung neustarten muss.


Größe Ermitteln schlägt fehl

Bei mir (Visual Studio 2008, Windows 7 64bit, Debug) schlägt das Ermitteln der Größe der Funktion threadstart(LPVOID addr) fehl. Der Wert ist viel zu groß unf der Fehler tritt erst bei WriteProcessMemory auf. Ein Workaround wäre eine alternativ Größenbestimmung:

 funcsize = 0;
 BYTE* FunctionPtr = (BYTE*)&threadstart;
 while(*FunctionPtr != 0xC3) // scannt bis return
 {
   funcsize++;
   FunctionPtr ++;
 }

src: http://www.hackerboard.de/code-kitchen/35625-groesse-einer-funktion-ermitteln-c.html

Build Environment

Thema 64bit: http://social.msdn.microsoft.com/Forums/en/windowsgeneraldevelopmentissues/thread/d787507b-b0d9-4085-b34b-a8b323ce2eaf


Visual Studio: Das Programm muss als Release gebaut werden, sonst landen debuggung informationen in unserem Ziel (dort wo wir injecten und alles crased)

Computer Forum
Computer Forum
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge