21:08 | 25.11.2024
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Математическая капча
Sonik · Offline · Дата: Суббота, 05.12.2015, 14:58 | Сообщение # 1

  • Подполковник
  • Сообщений: 143
 
3
 
Если на сервере стоит именно такой вид капатчи как на скрине то скрипт будет работать, он будет решать за вас и вводить число.



Код
uses SysUtils;

var tmpDialog,tmpString:string;
var posCaptcha, num1, num2, resultNum, count:integer;
begin
  while Engine.Status = lsOnline do begin
    tmpDialog := Engine.DlgText;
    if (Pos('Активирован штраф', tmpDialog) <> 0) then
begin
tmpString:='';
tmpDialog:=''; // Наверное на делфи это не нужно делать, но у меня привычка.
// Ищем капчу в диалоге
    tmpDialog:=Engine.DlgText;
    posCaptcha:=pos('<font color=LEVEL>',tmpDialog);
posCaptcha:=posCaptcha+19;

// Выдираем 1 число из капчи
while not (tmpDialog [posCaptcha]= ' ') do begin
tmpString:=tmpString + tmpDialog[posCaptcha];
posCaptcha:=posCaptcha + 1;
end;
num1:=StrToInt(tmpString);

// Выдираем 2 число из капчи
tmpString:='';
posCaptcha:=posCaptcha + 3;
while not (tmpDialog [posCaptcha]= ' ') do begin
tmpString:=tmpString + tmpDialog[posCaptcha];
posCaptcha:=posCaptcha + 1;
end;
num2:=StrToInt(tmpString);

// Решаем
resultNum:=num1 + num2;
print(IntToStr(resultNum));

// Отправляем ответ на капчу
Engine.BypassToServer('00 '+IntToStr(resultNum), True);
count:=count+1;
print ('Капча выскакивала -->'+IntToStr(count)+'<-- раз, но мы ее обошли =)');
end;
Delay (888);
end;
end.
Прикрепления: 2323809.jpg (11.0 Kb)

  • Страница 1 из 1
  • 1
Поиск: