DLL/C++ Bypass



  • Hallo liebe community,

    Ich entschuldige mich jetzt schon für das falsche unterthema 🙄

    ich habe folgendes Problem:

    Ich will einen Bypass schreiben und habe dafür code Ausschnite die einerseits mit c++ zu tun haben anderer seits mit vb.

    Und zwar soll die funktion "PostMessageA" in user32.dll umgangen werden so das GameGuardian Tastenbefehle nicht mehr blockieren kann.

    Ich muss dazu noch erwähnen dass ich blutiger anfänger bin was c++ angeht also bitte nicht schlagen 😮 Falls jemand weis wie ich das in JAVA machen kann immer her damit 😃

    Hier die Code Ausschnitte:

    Ausschnitt 1:

    #include <windows.h>
    
    HINSTANCE hInst; 
    DWORD DLLFunc; 
    HWND hFlyff;
    HWND hWnd;
    
    __declspec(naked) BOOL WINAPI __stdcall myPostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
    {
       __asm
       {
          mov  edi, edi
          push ebp
          mov  ebp, esp
          jmp [DLLFunc]
       }
    }
    

    Und Ausschnitt 2:

    BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReason*/)
    {
        switch (dwReason)
        {
    
            case DLL_PROCESS_ATTACH:
            {
                   if (DLLFunc == NULL) {
                    hInst = LoadLibrary("user32.dll");
                    DLLFunc = (DWORD)GetProcAddress(hInst, "PostMessageA") + 5; 
                    }
                   if (hFlyff == NULL) {
                    hFlyff = ::FindWindow(NULL, "FLYFF");
                    }
            }
            break;
    
            case DLL_THREAD_ATTACH:
                {
                   if (DLLFunc == NULL) {
                    hInst = LoadLibrary("user32.dll");
                    DLLFunc = (DWORD)GetProcAddress(hInst, "PostMessageA") + 5; 
                    }
                   if (hFlyff == NULL) {
                    hFlyff = ::FindWindow(NULL, "FLYFF");
                    }
                }
            break;
            case DLL_THREAD_DETACH:
                {
                    if (hInst != NULL) {
                   // Un-Load DLL
                   ::FreeLibrary(hInst);
                   hInst = NULL;
                } 
                }
            break;
            case DLL_PROCESS_DETACH:
            {
                    if (hInst != NULL) {
                   // Un-Load DLL
                   ::FreeLibrary(hInst);
                   hInst = NULL;
                } 
            }
            break;
        }
        return TRUE;
    }
    

    Das Problem ist ich habe keine Ahnung wo oder wie ich das hinschreiben soll. ich habe beide stücke hintereinander in eine cpp datei im recourcenordner eins neu erstellten projektes getan aber visual sagte es wäre kein einstiegspunkt da. 😕

    Wäre nett wenn ihr mir erklären könntet was ich mit den code Ausschnitten machen muss.

    Danke im vorraus

    PS: Das hier ist die Seite: http://www.gamerzplanet.net/forums/flyff-discussion/249996-tutorial-how-to-write-bypasses-for-blocked-functions.html

    Hoffe ihr könnt helfen.



  • aber visual sagte es wäre kein einstiegspunkt da. 😕

    wahrscheinlich versuchst du ein ausführbares programm (EXE) zu machen, anstatt einer dynamischen lib (DLL).
    weiß grad nicht auswendig wo man das umstellen kann, klick dich einfach mal durch die projekteigenschaften.
    wenn du dort nichts findest, erstell ein neues projekt und stell dort gleich schon ein, dass du eine DLL statt einer EXE willst.



  • Ok hab ich jetzt hinbekommen 👍

    Welchen code muss ich jetzt in welche datei packen?

    muss die header datei "windows.h" heißen?
    Oder wird dort eine bibliothek von windows importiert?

    Bitte um Hilfe habe echt keine Ahnung.



  • Bitte lass von deinem Vorhaben ab.

    Du hast keine Ahnung von Programmierung und willst gleich eine
    dicke Aufgabe lösen. Keine Ahnung was ein Gaspedal ist, aber
    dafür einen Porsche fahren wollen.

    Lern erst einmal die Grundlagen der Programmierung und
    Windows und verstehe wie diese Schutzfunktion funktioniert.

    Erst dann kannst du solche Aufgaben angehen.



  • Ich mach's dir gegen Geld.



  • Sorry ich heiß natürlich MONEYBOYMONEYBOY und so seh ich aus: _



  • du musst das ganze als DLL kompilieren, wenn das geschehen ist, musst du die DLL in den Prozess injizieren (http://comrade.ownz.com/projects/petools.html)



  • Was willst du genau erreichen? Nur den Bypass schreiben? Oder wirklich was lernen? Der Code den du da gepostet hast ist jedenfalls nicht komplett und völliger Schwachsinn.

    Und btw. wenn du im Arbeitsspeicher im Codesegment rumpfuschst, merkt es das Anticheatprogramm eh.

    EDIT: es sieht so aus, als hätte der Typ der das Tutorial geschrieben hat, gar keine Ahnung
    allein das hier schon:

    WINAPI __stdcall
    

    gibt weit aus bessere Tutorials


Anmelden zum Antworten