DarkMindZ Codebase

[ VB ]

FTP Upload and Download


Authors Comments: Put this in a Module and download files with

RetrieveFile "fileonserver", "C:\fileonpc"

Upload with:

Putfiletoserver "C:\fileonpc", "fileonserver"

And remember, your FTP Passes can be sniffed!
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const FTP_TRANSFER_TYPE_UNKNOWN = &H0

Const FTP_TRANSFER_TYPE_ASCII = &H1

Const FTP_TRANSFER_TYPE_BINARY = &H2

Const INTERNET_DEFAULT_FTP_PORT = 21

Const INTERNET_SERVICE_FTP = 1

Const INTERNET_FLAG_PASSIVE = &H8000000

Const INTERNET_OPEN_TYPE_PRECONFIG = 0

Const INTERNET_OPEN_TYPE_DIRECT = 1

Const INTERNET_OPEN_TYPE_PROXY = 3

Const INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY = 4

Public Declare Function InternetCloseHandle Lib "wininet" (ByRef hInet As Long) As Long

Public Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long

Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

Public Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" (ByVal hConnect As Long, ByVal lpszRemoteFile As String, ByVal lpszNewFile As String, ByVal fFailIfExists As Long, ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Boolean

Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hConnect As Long, ByVal lpszLocalFile As String, ByVal lpszNewRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

Const PassiveConnection As Boolean = True

Const FTPAddress = "example.com"
Const UserName = "example"
Const Password = "example"
Const ProgName = "programname"

Public Sub RetrieveFile(sFile As String, sTargetFile As String)

    Dim hConnection As Long, hOpen As Long, sOrgPath  As String

    hOpen = InternetOpen(ProgName, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)

    hConnection = InternetConnect(hOpen, FTPAddress, INTERNET_DEFAULT_FTP_PORT, UserName, Password, INTERNET_SERVICE_FTP, IIf(PassiveConnection, INTERNET_FLAG_PASSIVE, 0), 0)

    FtpGetFile hConnection, sFile, sTargetFile, False, 0, FTP_TRANSFER_TYPE_UNKNOWN, 0

    InternetCloseHandle hConnection

    InternetCloseHandle hOpen

End Sub
Public Sub PutFileToServer(sLocalFile As String, sFtpFileName As String)

    Dim hConnection As Long, hOpen As Long, sOrgPath  As String

    hOpen = InternetOpen(ProgName, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)

    hConnection = InternetConnect(hOpen, FTPAddress, INTERNET_DEFAULT_FTP_PORT, UserName, Password, INTERNET_SERVICE_FTP, IIf(PassiveConnection, INTERNET_FLAG_PASSIVE, 0), 0)

FtpPutFile hConnection, sLocalFile, sFtpFileName, FTP_TRANSFER_TYPE_UNKNOWN, 0

    InternetCloseHandle hConnection

    InternetCloseHandle hOpen

End Sub

Submitted by: fr33KaZoidT
View Plain Text Version
Add to Google! Stumble It! Reddit! Digg!