WriteProcessMemory (CE/Mein Code)

  • Code
    1. if (pHandle != 0) {
    2. bool Return = WriteProcessMemory(pHandle,(LPVOID)0x2993CB0,&newvalue,sizeof(int),0);
    3. if(!return)
    4. cout << "\nWriteProcessMemory successfull.";
    5. else
    6. cout << "\nError at WriteProcessMemory: " << GetLastError() << '\n';
    7. cin.get();
    8. CloseHandle(pHandle);
    9. }


    Sollte klappen. Wenn es 2 Bytes sein müssen nimm WORD oder unsigned short statt int.


    Zu Themida:


    Hab vor kurzer Zeit noch etwas mit einen Loader gecrackt das mit Themida geschützt war und es
    klappte einwandfrei. Themida entpackt ja auch irgendwann den Code und wenn dieser entpackt
    ist kann man den halt patchen. Kann sein das Themida dafür checks hat, aber in dem fall waren
    diese dann wohl nicht aktiviert.

  • Ich stimme penispeter zu.
    Habe auch letztens ne Themida protected App gepatched ohne Probleme. Api Hooks gingen auch ohne Probleme und mit Olly konnte ich auch durchtracen, zumindestens bis zur VM. Natürlich muss man erstmal warten bis der Code entpackt ist, das ist aber auch nicht sonderlich schwer, da man ja weiß welcher Opcode an der zu patchenden Stelle stehen soll und man in nem neuen Thread das überprüfen kann.
    Allerdings weiß ich auch nicht ob Themida noch extra Check Funktionen hat die ausgeschaltet waren.


    @kuhkuh
    Schau mal was WriteProcessMemory returned (am besten direkt mit penispeters Code)

  • Jetzt crashed das Spiel.
    Ich glaube ich weiß woran es liegt.
    Die Koordinaten sind ja floats. Vllt. sollte ich das auch mal so deklarieren.


    EDIT: Jetzt geht es :>


    Danke an alle :P