Просмотр полной версии : Брутфорс e-mail через SMTP
Привет всем форумчанам! У меня такой вопрос: "Почему почту брутят в основном только через pop3 протокол?". Я решил поэкспериментировать и написал так называемый smtp брутфорс на Delphi. Если что сильно не пинайте, а лучше подскажите как добавить многопоточность и чего бы можно было добавить еще. Скачать его можно здесь (http://depositfiles.com/files/kk1qake8w). Жду ваших отзывов и предложений.
http://www.virustotal.com/ru/analisis/8d4487897d1311d4014aa1a07891319d
...
Ты хочешь сказать, что я тут вирусы распространяю? Это напрасно, программа действительно работает, я думаю кто разбирается в delphi без труда разберет код.
De-visible
11.12.2008, 23:19
Просмотрел код, молодец.
А то думал очередная хрень через компоненты(, а так лови+:)
Если есть время будь активней лучше в разделе кодинг)))
12usver12
12.12.2008, 10:47
я не смотрел код , но при реализации многоп-ти тебе надо сразу будет подумать, как распределить работу между потоками... да и еще таймаут, прокси, соксы и т.д.
При всем уважении к google, хотелось бы получить более конкретные советы, рекомендации, примеры, т.к. тема интересна и нигде мне не встречалась. Еще хочу отметить, что не реализовал resolve в программе, но это не так важно и при желании я смогу это сделать, поэтому в поле smtp сервер вводится IP-адрес smtp сервера, а не доменное имя.
Элемантарная реализация многопоточности..
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
BtChoose: TButton;
//.........................
procedure BtChooseClick(Sender: TObject);
procedure BtBeginClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Brute = class(TThread)
WSAData:TWSAData;
sock:TSocket;
addr:TSockAddrIn;
procedure Execute; override;
end;
var
Form1: TForm1;
thr: array [1..999] of Brute;
implementation
{$R *.dfm}
procedure Brute.Execute;
begin
// Здесь код одного потока брута
end;
procedure TForm1.BtBeginClick(Sender: TObject);
var i:integer;
begin
for i:=1 to 99 do
begin
thr[i]:=Brute.Create(false); // Стартуем
sleep(500);
end;
end;
В дальнейшем столкнешся с проблемами таймаута для каждой нити, с глюками TStringList-а , который при совместных обращениях может вытащить либо пустой пароль либо вовсе заглючить и выкинуть..
СМТП брут уже давно реализован в Гидре , так что не знаю есть ли смысл изобретать велосипед, разве что в целях собственного развития :)
Отлично! Большое спасибо! Попробую реализовать...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot