InternetOpenUrl



  • ich möchte meinen code zum laufen bringen ^^

    PUSH 10000000           ; INTERNET_FLAG_ASYNC
    PUSH 0                  ; lpszProxyBypass
    PUSH 0                  ; lpszProxyName
    PUSH 1                  ; INTERNET_OPEN_TYPE_DIRECTUSH 
    PUSH 401F80             ; ASCII "Microsoft Internet Explorer"
    CALL InternetOpenA      ; call InternetOpen - wininet
    
    PUSH 0                  ; dwContext
    PUSH 0                  ; dwFlags
    PUSH 0                  ; dwHeadersLength
    PUSH 0                  ; lpszHeaders
    PUSH 401E70             ; ASCII "http://www.google.at"
    // hier müsste ich push hInternet ( schaut im c++ code)
    CALL InternetOpenUrlA   ; call InternetOpenUrl - wininet
    

    also in c++ sieht das ja so aus :

    HINTERNET hInternet;
    		HINTERNET hFile;
    		hInternet = InternetOpen("Microsoft Internet Explorer",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
    		hFile = InternetOpenUrl(hInternet,"http://www.google.at",NULL,0,INTERNET_FLAG_NO_CACHE_WRITE,0);
    		InternetCloseHandle(hFile);
    		InternetCloseHandle(hInternet);
    

    wäre jemand so nett und könnte mir ein beispiel in asm zeigen zu :
    InternetOpen
    InternetOpenUrl

    in asm wenn möglich

    -danke



  • hInternet ist letztendlich wahrscheinlich einfach nur ein dword, das InternetOpenA in eax zurueckgibt...



  • PUSH 10000000           ; INTERNET_FLAG_ASYNC 
    PUSH 0                  ; lpszProxyBypass 
    PUSH 0                  ; lpszProxyName 
    PUSH 1                  ; INTERNET_OPEN_TYPE_DIRECTUSH 
    PUSH 401F80H             ; ASCII "Microsoft Internet Explorer" 
    CALL InternetOpenA      ; call InternetOpen - wininet 
    mov  hInternet, eax        
    
    PUSH 0                  ; dwContext 
    PUSH 0                  ; dwFlags 
    PUSH 0                  ; dwHeadersLength 
    PUSH 0                  ; lpszHeaders 
    PUSH 401E70H             ; ASCII "http://www.google.at" 
    CALL InternetOpenUrlA   ; call InternetOpenUrl - wininet 
    mov  hFile, eax
    

    Die beiden Adressen mittels Hexzahlen (Endung! H) zu pushen - sowas macht man nicht - viel zu gefährlich.
    Stehen die beiden Texte im datensegment oder im code- resp. constsegment:

    .data
        text1 db 'Microsoft Internet Explorer', 0    ;dann geht
        ;...
        push offset text1
    

    Sind die Texte lokal auf dem Stack abgelegt dann:

    lea   eax, text1
       push  eax
    

    Die beiden von dir eingefügten Hexzahlen entsprechen keinen Stackadressen!



  • WinApi schrieb:

    wäre jemand so nett und könnte mir ein beispiel in asm zeigen zu :
    InternetOpen
    InternetOpenUrl

    ... z.B. der Disassembler im Debugger deiner bevorzugten C++-IDE 😉



  • könnte jemand ein ganzes beispiel posten ?
    (bitte)


Anmelden zum Antworten