Microsoft Visual Studio ASM-Interpreter macht mich verrückt!



  • Hi Kollegen:

    PUSH oldprotect
    PUSH PAGE_EXECUTE_READ OR PAGE_GUARD
    PUSH 00000010h
    PUSH EAX
    Call VirtualProtect
    

    Funktioniert nicht... Er callt den Pointer dann in dem aber die Adresse
    von der API ist... Error

    PUSH oldprotect
    PUSH PAGE_EXECUTE_READ OR PAGE_GUARD
    PUSH 00000010h
    PUSH EAX
    call [VirtualProtect]
    

    Das gleiche

    PUSH oldprotect
    PUSH PAGE_EXECUTE_READ OR PAGE_GUARD
    PUSH 00000010h
    PUSH EAX
    mov esi, [VirtualProtect]
    Call esi
    

    Geht zwar ist aber "arm",
    muss ich umbedingt ein Register verwenden?

    Zweites Problem:
    DWORD oldprotect = 0;

    push oldprotect
    

    <- NULL wird gepusht, ich brauche aber den Pointer

    push *oldprotecct
    
    push offset oldprotect
    
    push addr oldprotect
    
    push @oldprotect
    

    <- Geht alles nicht

    Vielen Dank schonmal


Anmelden zum Antworten