Fasm: GetUserName



  • Hi,

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms724432(v=vs.85).aspx

    Code für FASM:

    format PE GUI 4.0
    
    include 'win32ax.inc'
    
    section '.data' data readable writeable
    username: rb 257 ; laut Dokumentation: UNAME+1
    caption: db 'Username',0
    
    section '.code' code readable writeable executable
    start:
            invoke GetUserName,username,257 ; <-- crash?!
            invoke MessageBox,0,username,caption,0
            invoke ExitProcess,0
    .end start
    

    Die Funktion des Programms lässt sich einfach herauslesen, einfach den Nutzername über GetUserName holen, und dann in einer MessageBox darstellen.

    Leider crasht das Programm (?), wenn ich für username einen normalen String definiere und nicht über GetUserName hole, funktioniert alles, also muss das Problem irgendwo bei GetUsername liegen.


  • Mod

    Nur geraten, denn kann ja sein dass invoke die richtige Magie anwendet:

    BOOL WINAPI GetUserName(
      _Out_    LPTSTR lpBuffer,
      _Inout_  LPDWORD lpnSize
    );
    

    der zweite Parameter ist ein Zeiger, 257 dagegen nicht.



  • Danke, ich hab jetzt 257 als Variable in .data, da funktioniert es.


Log in to reply