[C/C++] .dll - Injector - CreateRemoteThread

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von AMAB(AT), 20. Januar 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 20. Januar 2010
    .dll - Injector - CreateRemoteThread

    #include<HELP.h>

    Moin =)

    da jetzt wieder die Schule angefangen hat bla bla...

    hab ich mir mal ein neues Projekt ausgedacht, was auch EIGENTLICH schon (fast) funktioniert.

    und zwar hab ich in C++ einen Injector gecoded, der eine DLL in einen Process laden SOLL....

    Erster Versuch und Anfangsarbeit war, ein BEEP Sound in Notepad zu hören, wenn 500 Zeichen geschrieben wurden.
    Bei 1000 Zeichen kam dann eine MessageBox. Die DLL dazu hab ich, und sie funktioniert !

    Aber irgendwie wollte der Injector nicht ganz.
    Er hat zwar "injectet, laut Text, doch die DLL ist im Prozess nicht eingebunden.
    Es gibt noch ne andere Methode die mir aber Fremd ist.
    MemoryAllocation ?!
    Im Quellcode sind KEINE fehler und er Compiliert ohne Warnung oder etc.
    Er führt ihn auch aus.. aber die dll wird nicht geladen :thumbsdown:

    BITTE BITTE; sagt nicht, dass ich googlen soll.. .kenne mittlerweile alle 124 Seiten die sich mit "injector..." finden lassen ;(
    ..ihr seit meine letzte hoffung.
    ALLE TUTORIALS DIE IM WEB CURSIEREN, sind sehr sehr alt, und funktionieren in keinster Weise! Entweder für WinNT oder maximal in WinXP.

    Ein fertiger Injector.exe bringt mir auch nix.
    Sonst ist es ja gefaket

    Da mir mein Laptop auf der Arbeit runtergefallen ist 8o , denk ich , dass meine gespeicherten VC++ Projekte weg sind

    Kann den Laptop erst am Montag wieder "benutzen" ( bin beruflich weg ).

    Also könnte BITTE BITTE einer einen (?!halben?!) Quellcode mit den Functionen zum DLL-Spritzen unter Windows 7 posten ?

    Sehr Gerne auch als PM; ......ich bin so hilflos...im moment^^

    Sodass ich wenigstens nicht bei NULL = !0 (xD) anfangen musst
    Brauch den Injector zur Präsi am Freitag


    Bis Montag wär auch noch "okay"...

    if(you.will.help.ME);
    then
    (you.will.get.many.BW's)
    end if
    return 0;

    BITTE HELFT MIR LEUTE

    mfG AMAB(AT)
     
  2. 20. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    Schau dir den Code an, sollte gehen:

    Spoiler
    Code:
    #include <Windows.h>
    #include <TlHelp32.h>
    #include <stdio.h>
    
    char DllPath[MAX_PATH] = {0};
    
    DWORD FindProcessID(const char *process_name)
    {
     PROCESSENTRY32 pe32;
     HANDLE snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    
     if(snapshot==INVALID_HANDLE_VALUE)
     return 0;
    
     pe32.dwSize=sizeof(PROCESSENTRY32);
     BOOL ret=Process32First(snapshot,&pe32);
    
     while(ret)
     {
     if(!strcmp(pe32.szExeFile,process_name))
     return pe32.th32ProcessID;
    
     ret=Process32Next(snapshot,&pe32);
     pe32.dwSize=sizeof(PROCESSENTRY32);
     }
    
     return 0;
    }
    
    DWORD FindProcessID(const char *window_class, const char *window_name)
    {
     DWORD pid=0;
     HWND hlhwnd = FindWindow(window_class,window_name);
    
     if(GetWindowThreadProcessId(hlhwnd,&pid))
     return pid;
    
     return 0;
    }
    
    BOOL FileExist(const char *FileName)
    {
     WIN32_FIND_DATA FindFile;
     HANDLE handle=FindFirstFile(FileName,&FindFile);
     return(handle!=INVALID_HANDLE_VALUE);
    }
    
    void InjectDLL()
    {
     DWORD ProcessID=0;
     
     do
     {
     ProcessID=FindProcessID("Notepad"); // PROZESSNAMEN HIER HIN
     }while(FAILED(ProcessID));
    
     HANDLE Proc=OpenProcess(PROCESS_ALL_ACCESS,FALSE,ProcessID);
     LPVOID LoadLibAddy=(LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"),"LoadLibraryA");
     LPVOID RemoteString=(LPVOID)VirtualAllocEx(Proc, NULL, strlen(DllPath),MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE);
     WriteProcessMemory(Proc,(LPVOID)RemoteString,DllPath,strlen(DllPath),NULL);
     CreateRemoteThread(Proc,NULL,NULL,(LPTHREAD_START_ROUTINE)LoadLibAddy,(LPVOID)RemoteString,NULL,NULL);
     CloseHandle(Proc);
    }
    
    int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPInst,LPSTR lpCmdLine,int nCmdShow)
    {
     HANDLE hMutex = CreateMutex(NULL,NULL,"injector_m");
    
     if(GetLastError()==ERROR_ALREADY_EXISTS)
     {
     MessageBox(0,"Loader is already running!","Warning",MB_ICONWARNING|MB_OK);
     ExitProcess(0);
     }
    
     GetModuleFileName(0, DllPath, MAX_PATH); // Name des aktuellen Programmes nehmen und als DLL-Namen verwenden
     DllPath[strlen(DllPath)-3]=0;
     strcat_s(DllPath,"dll");
    
     if(!FileExist(DllPath))
     {
     char buf[500]="";
     _snprintf(buf,499,"\"%s\"\nNot Found.",DllPath);
     MessageBox(0,buf,"Error",MB_ICONERROR|MB_OK);
     ExitProcess(0);
     }
    
     InjectDLL();
     ReleaseMutex(hMutex);
    
     return 0;
    }


    Musst ja net 1:1 übernehmen, kannst ja zum Nachschauen verwenden.
     
  3. 20. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    Anstatt so einen Thread zu erstellen solltest du dir lieber mal das Buch "Google-Suche für Dummies" anschaffen, weil ich finde sehr viele brauchbare google Ergebnisse.

    Blizzhackers &bull; View topic - Dll Injection
    http://www.ring3circus.com/rce/dll-injection-via-createremotethread/
    etc.
     
  4. 21. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    Hier das Datum deiner Threads n0s

    Spoiler
    1. ThreadDLL injection via CreateRemoteThread
    November 15, 2007

    2. Thread PostPosted: Sat Mar 18, 2006 12:29 am

    wie gesagt, hab ich ALLE ergebnisse in google suche, durchgeschaut und nix brauchbares !AKTUELLES! gefunden !

    Musst an Win 7 denken
    und ich schätze, du hast nicht den ganzn Post durchgelesen.

    Danke für die Hilfe und BW haste N0s


    mfG
     
  5. 21. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    Windows 7 UAC whitelist: Code-injection Issue (and more)
     
  6. 21. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    oho wie schlimm so ein Datum ist -> Die funktionieren alle unter Windows 7, brauchst halt Admin Rechte.
     
  7. 21. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    Achso

    ja dann probier es doch

    Bei mir funktioniern sie nicht !

    + RemaL : Der code funzt leider auch nicht, krieg die ganze zeit Compilerfehler C2065 und hock schon wieder seit 4 stunden dran -.-....
     
  8. 21. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    Ist ja auch so schwer, "Compilerfehler C2065" bei Google einzugeben. Dann kommt man auf eine Seite von Microsoft, die genauere Infos zum Fehler gibt. Nämlich dass ein unbekannter Bezeichner auftritt. Außerdem gibt der Compiler die Zeile aus, in der der Fehler auftritt. Die schaut man sich mal gaaaaaanz genau an. Und dann schaut man, welcher Bezeichner denn unbekannt sein könnte. Und dann bindet man die entsprechende Header-Datei ein. Wenn man die nicht kennt, Googled man nochmal. Und wenn man das alles gemacht hat, ist man ungefähr 10x schneller, als wenn man in einem Forum um Hilfe sucht.
     
  9. 21. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    ach leute...

    ich bin nicht irgendein Internet - E-Penis Renogeiler-möchtegern Programmierer.

    bevor ich hier mir sinnloserweiße so einen langen Thread erstelle, zeige ich natürlich Eigeninitative, und zwar google ich mindestens einenn Tag lang.

    Auf die Seite von MS bin auch gestoßen, nur hat es heute so meinen Kopf gefi[piep], dass ich einfach in KurzForm wissen wollte was zu tun ist.

    Leute seit einfach mal ein bisschen freundlicher und werdet nicht gleich persönlich, nur weil es übers Internet ist O_O

    DANKE

    NICHT mfg
     
  10. 21. Januar 2010
    AW: .dll - Injector - CreateRemoteThread

    Dann lass ich den Thread mal offen, falls noch jemand fragen hat.

    NICHT
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.