Ergebnis 1 bis 2 von 2

Baum-Darstellung

  1. #2
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    Code:
    invoke CreateFile,path,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0
        cmp eax,INVALID_HANDLE_VALUE
        jne @f
            .data
               error_open_target db "Konnte Zieldatei nicht öffnen!",0
            .code
            invoke MessageBox,0,offset error_open_target,0,MB_ICONERROR        
            ret
        @@:
        mov file_handle,eax
        invoke GetFileSize,file_handle,0
        mov file_size,eax
       
        invoke VirtualAlloc,0,file_size,MEM_COMMIT,PAGE_READWRITE
        mov p_mem,eax
        test eax,eax
        jnz @f        
            invoke MessageBox,0,offset error_memalloc_target,0,MB_ICONERROR
            jmp closefile
        @@:
        
        invoke ReadFile,file_handle,p_mem,file_size,addr temp,0
        test eax,eax
        jnz @f
            .data
               error_reading_target db "Konnte Zieldatei nicht lesen!",0
            .code
            invoke MessageBox,0,offset error_reading_target,0,MB_ICONERROR
            jmp freemem
        @@:
    so, nun findest du an Adresse, die in p_mem festgehalten wird, den Inhalt der Datei.
    bsp, was man damit dann machen kann:
    Code:
    ;so, nun Datei lesen
        mov edi,p_mem
    
        add edi,[edi+03ch] ;PE
        mov eax,file_size
        add eax,p_mem
        .if edi>eax || edi<p_mem || word ptr[edi]!="EP"
            .data
               error_invalid_pe db "Zieldatei ist keine gültige Win32PE Executable!",0
            .code
            invoke MessageBox,0,offset error_invalid_pe,0,MB_ICONERROR
            jmp freemem
        .endif
    zum Schluss noch alles fein schließen:
    Code:
    freemem:
     invoke VirtualFree,p_mem,file_size,MEM_DECOMMIT
    
    closefile:
        invoke CloseHandle,file_handle
    siehe auch:
    http://win32assembly.online.fr/tut12.html
    Geändert von EBFE (09.05.2009 um 17:47 Uhr) Grund: Free memory vergessen :)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •