Перебрут [цикл, метка, рекурсивная процедура]

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

TITLE

Участник

TITLE

Участник
22 Июл 2016
86
106
Всем привет!
Многие спрашивали меня , как сделать перебрут ошибок, а многие вообще не знают что это такое.
Специально для вас...
Если тут читать не удобно, можете скачать проект
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Код:
procedure TForm1.BrutRecurs;
begin
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if Pos('balance', ipsHTTPS1.TransferredData) = 0 then // Если сервер не вернул ответ содержащий нужное нам слово
BrutRecurs; // переходим к процедуре BrutRecurs
end;

procedure TForm1.BrutRecursMaxReb(kr, Maxkr: integer);
begin
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if (Pos('balance', ipsHTTPS1.TransferredData) = 0) and (kr <> Maxkr) then // Если сервер не вернул ответ содержащий нужное нам слово
BrutRecursMaxReb(kr + 1, Maxkr); // и переменная kr не равна Maxkr
// переходим к процедуре BrutRecursMaxReb
// (kr+1 - Увеличиваем kr на 1, Maxkr- макс. кол-во ребрутов не изменяем.)
end;

procedure TForm1.Button1Click(Sender: TObject);
label
LBbalanc;
label
LBbalancMaxReb;
var
ct, maxReb: Integer;
begin
//1
repeat
ipsHTTPS1.CookieCount := 0; // Обнуляем куки если нужно. (вбщм. делаем так что-бы 2ой, 3ий , и тп запрос был как 1вый)
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
until Pos('balance', ipsHTTPS1.TransferredData) > 0; // Выполняем цикл пока сервер не вернет ответ содержащий нужное нам слово

//2
LBbalanc: // метка LBbalanc
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
if Pos('balance', ipsHTTPS1.TransferredData) = 0 then // Если сервер не вернул ответ содержащий нужное нам слово
goto LBbalanc; // переходим к метке LBbalanc

//3
BrutRecurs; // Переходим к рекурсивной процедуре

// Это самые простые варианты перебрута ошибок.
// Можно объявить переменную и после каждого
// запроса увеличивать её, затем сравнивать с другим значением ,
// т.е сделать ограничение перебрутов.
// Примеры:

// 1
maxReb := 3; // Максимальное кол-во перебрутов
ct := 0; // Обнуляем переменную ct
repeat
ipsHTTPS1.CookieCount := 0; // Обнуляем куки если нужно. (вбщм. делаем так что-бы 2ой, 3ий , и тп запрос был как 1вый)
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
Inc(ct); // Увеличиваем ct переменную на 1
until (Pos('balance', ipsHTTPS1.TransferredData) > 0) or (ct = maxReb); // Выполняем цикл пока сервер не вернет
// ответ содержащий нужное нам слово или
// переменная ct не станет равна maxReb

// 2
maxReb := 3;
ct := 0;
LBbalancMaxReb: // метка LBbalancMaxReb
ipsHTTPS1.CookieCount := 0;
ipsHTTPS1.PostData := 'Тело запроса';
ipsHTTPS1.Post('Адрес запроса');
Inc(ct);
if (Pos('balance', ipsHTTPS1.TransferredData) = 0) and (ct <> maxReb) then // Если сервер не вернул ответ содержащий нужное нам слово
goto LBbalancMaxReb; // и переменная ct не равна maxReb
// переходим к метке LBbalancMaxReb

// 3
BrutRecursMaxReb(0, 3) // Переходим к рекурсивной процедуре(0-счетчик , 3- макс. кол-во перебутов)
end;

© 77PixelS
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя