Перейти к содержимому

Фотография
- - - - -

Математическая капча

капча адреналин

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 19

#1
SARCAZM

SARCAZM

post-79-0-42089800-1438280084.jpg

Решает задачку на сложение двух чисел в капче, как на скрине.

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.

  • 4

#2
Pr0FeSoR

Pr0FeSoR
  • 61
    0
    • Изгнан
    • BANNED

скрипт полностью готов или нужно ещё вводить какието значения чисел туда где написано по руски?

 


  • 0

#3
SARCAZM

SARCAZM

Готов, если капча точно такая же как на скрине. 


  • 0

#4
Pr0FeSoR

Pr0FeSoR
  • 61
    0
    • Изгнан
    • BANNED

Готов, если капча точно такая же как на скрине. 

копировать её с этими надписями ( // Наверное на делфи это не нужно делать, но у меня привычка.
// Ищем капчу в диалоге ) и вставлять в текстовик потом в адреналин ?

 

Кстати вот тоже скрипт для капчи которая начинается на 999?? , если есть скрин у тебя такой капчи выложи  может кому понадобится .

 

begin
while 1<>2do begin
Engine.BypassToServer('00 99920', True);
Delay(200);
Engine.UseItem(9840);
Delay(120);
end;
end.


Сообщение отредактировал aleksichenk: 18 Август 2015 - 19:04

  • 0

#5
SARCAZM

SARCAZM

Кстати вот тоже скрипт для капчи которая начинается на 999??

То,что ты прислал, просто бесконечная отправка байпасса 00 99920 и использование некого итема с ID 9840. Но тут не об этом, не будем засорять тему.

 

 

 


копировать её с этими надписями ( // Наверное на делфи это не нужно делать, но у меня привычка. // Ищем капчу в диалоге ) и вставлять в текстовик потом в адреналин ?

Да, копировать можно с этими надписями. Это комментарии, которые адреналин просто проигнорирует.


  • 0

#6
Pr0FeSoR

Pr0FeSoR
  • 61
    0
    • Изгнан
    • BANNED

спасибо большое за отзывчивость :)

 


  • 0

#7
gtrx

gtrx
  • 3
    0
    Не выбрано
    • Lvl 1
    • Пользователь

спасибо пребольшое)всё работает :)


  • 0

#8
qwertyqq

qwertyqq
  • 25
    2
    Чертик
    • Lvl 16
    • Пользователь
Все работает спс за скрипт)
  • 0

#9
IvaLeoN

IvaLeoN
  • 9
    0
    Не выбрано
    • Lvl 7
    • Пользователь

Тему почистили, а тут вроде был скрипт на обычную цифровую капчу(( Дайте пожалуйста, если есть у кого то


  • 0

#10
Evelina

Evelina
  • 7
    0
    Смеюсь
    • Lvl 5
    • Пользователь
    ВКонтакте
    127640335

спаси6о! ра6отает!


  • 0

#11
needme

needme
  • 7
    2
    Кривляюсь
    • Lvl 5
    • Пользователь

спс


  • 0

#12
platemate

platemate
  • 36
    2
    Не выбрано
    • Lvl 21
    • Пользователь

спасибо, хорошая работа!


  • 0

#13
CEBEP

CEBEP

спс работает)


  • 0

#14
Manastorm

Manastorm
  • 14
    0
    Не выбрано
    • Lvl 11
    • Пользователь
    ВКонтакте
    al13nboy
    Город
    Харьков

SARCAZM, Добрый вечер. Подскажи пожалуйста. После того как данный скрипт отправляет байпасс, диалог с каптчей закрывается?
Дело в том, что я изменил под другой сервер сию каптчу. Она работает, но диалог не закрывается. И по истечению выставленной мной задержки, она снова вводится. А это вызывает обратный эффект.

Будто кнопка 'ОК' не нажимается.

 

Вот скрин каптчи:

 7a5c4730894a4edcb84aaa40702c38c1.png

 

Вот как выглядит байпасс:

 8e5a59fa2bda4705aa2edb25cff80116.png

 

fe3803be97df494ca5d6d4df40d37955.png

 

Вот как выглядит код:

Engine.BypassToServer('00 '+IntToStr(Num), True);

Или всё же правильно так:
 

Engine.BypassToServer('00 $pwd'+IntToStr(Num), True);

Хотя и так и так скрипт не работает как должен...


  • 0

Your magic ends here.


#15
Krickt

Krickt

Engine.BypassToServer('00 '+IntToStr(Num), True);

вот так.


  • 0

#16
Manastorm

Manastorm
  • 14
    0
    Не выбрано
    • Lvl 11
    • Пользователь
    ВКонтакте
    al13nboy
    Город
    Харьков

Krickt, Благодарю.
А не подскажешь почему диалог не закрывается? Ведь при отправке байпасса, как я понимаю, должна вводиться каптча и нажиматься кнопка 'ОК'.


  • 0

Your magic ends here.


#17
BreadfanLock

BreadfanLock

Нет. Отправка байпасса - это отправка байпасса. К закрытию форм (или вводу в поле) никакого отношения не имеет.

 

Оригинал приближенно:

Пришла капча - Юзер ввел в поле ответ - нажал кнопку ОК - клиент закрыл окошко диалога - отправил на сервер запрос bypass

В твоем случае:

Пришла капча - скрипт обработал входящий запрос - отправил на сервер запрос bypass

 

Ненужные телодвижения и атавизм "Юзер" - убраны.
 


Сообщение отредактировал BreadfanLock: 23 Сентябрь 2016 - 00:01

  • 0
Не изготавливаю готовый код...

#18
Manastorm

Manastorm
  • 14
    0
    Не выбрано
    • Lvl 11
    • Пользователь
    ВКонтакте
    al13nboy
    Город
    Харьков

BreadfanLock, Я понял. Ошибочно думал, что скрипт отправляя байпасс имитирует нажатие кнопки 'ОК'.

 

А как тогда заставить бота закрыть диалог? Или нажать на кнопку 'ОК'?


  • 0

Your magic ends here.


#19
Krickt

Krickt

Manastorm, попробуй просто Esc нажать ботом.


  • 0

#20
Manastorm

Manastorm
  • 14
    0
    Не выбрано
    • Lvl 11
    • Пользователь
    ВКонтакте
    al13nboy
    Город
    Харьков

Krickt, Я уже разобрался, спасибо. Все оказалось намного проще чем я думал. Можно не закрывать капчу, а просто не вводить ее если она совпадает с предыдущей...)

if tmpString <> check then 
begin
          Engine.BypassToServer('00 '+(tmpString), true);
          print('Captcha has been defused!');
            delay(5000);
end
else
delay(5000);
print('Looking for captcha...');
end;

  • 0

Your magic ends here.




Темы с аналогичным тегами готовый скрипт, капча, адреналин

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Rawr.su - Сделано с для игроков.