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
InternetOpenUrlin 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)