Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Цифровая капча

Рег
27 Июл 2015
Сообщения
3
Реакции
0
Бодрого времени. Подмогите со скриптом для антикапчи.
Есть простенькая цифровая капча.
Цифры появляются рандомно, от 0 до 9999

a2Xx75BfvOE62g.png

Код:
<html>
	<body>
		<center>
			<font color="FF0000">Активирован штраф на награду с мобов!</font>
			<br>Введите этот код,<br>=== <font color=LEVEL>976</font> ===<br> для снятия штрафа: <br>
			<edit var="pwd" width=60 length="3"><br>
			<br><button value="Ok" action="bypass -h farm_delay $pwd" width=74 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
		</center>
	</body>
</html>
 
Напишу через часок, изи :)
 
Попробуй, на ошибки не проверял.
Код:
uses SysUtils;

 var tmpDialog,tmpString:string;
 var posCaptcha, num1, 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;

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


// Отправляем ответ на капчу 
Engine.BypassToServer('farm_delay '+IntToStr(num1), True); 
count:=count+1;
print ('Капча выскакивала -->'+IntToStr(count)+'<-- раз, но мы ее обошли =)');
end;
Delay (888);
end;
end.
 
точно такая же проблема , скрипт офается если вылетает данная капча
 
А как он определяет, что вылезло окно? Он ищет по тексту?
Код:
 if (Pos('Активирован штраф', tmpDialog) <> 0) then
 
5beec9a9f58809e5b5513bd2f5ab76fa.jpg
Он выдает такую ошибку )
Я поменял с 19 на 18. Не знаю, может я че-то не понимаю, может это как-то поможет.
 
@joingog, у тебя и капча другая немного. Если не заработает, нужна отдельная тема с полным html диалога капчи.
Код:
uses SysUtils;

 var tmpDialog,tmpString:string;
 var posCaptcha, num1, 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;

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


// Отправляем ответ на капчу 
Engine.BypassToServer('farm_delay '+IntToStr(num1), True); 
count:=count+1;
print ('Капча выскакивала -->'+IntToStr(count)+'<-- раз, но мы ее обошли =)');
end;
Delay (888);
end;
end.
 
Не работает.
А что ты тут изменил?)
И как выдрать хтмл?))
 
SARCAZM написал(а):
Да как-то даже не задумывался про это...)


Код:
<html>
<body>
<font color="FF6600">!Активирован штраф на награду с мобов!</font>
<br>������� ���� ���,
<br>=== <font color=LEVEL>99915</font> ===
<br> ��� ������ ������:
<br><edit var="pwd" width=60 length="5"><br><br><button value="Ok" action="bypass -h 00 $pwd" width=40 height=15 back="sek.cbui94" fore="sek.cbui92">
</body>
</html>
 
@joingog,

uses SysUtils;

var tmpDialog,tmpString:string;
var posCaptcha, num1, 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;

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


// Отправляем ответ на капчу
print (IntToStr(num1));
Engine.BypassToServer('00 '+IntToStr(num1), True);
count:=count+1;
print ('Капча выскакивала -->'+IntToStr(count)+'<-- раз, но мы ее обошли =)');
end;
Delay (888);
end;
end.
Копай в сторону байпасса c отправкой ответа если не заработает. У автора байпасс содержал ключевое слово farm_delay, а у тебя просто 00
Заодно добавил вывод выдранного числа, для дебага. Сам сижу без адреналина уже пару месяцев, мог допустить глупую опечатку. Проверить не могу.
 
SARCAZM написал(а):
@joingog,

uses SysUtils;

var tmpDialog,tmpString:string;
var posCaptcha, num1, 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;

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


// Отправляем ответ на капчу
print (IntToStr(num1));
Engine.BypassToServer('00 '+IntToStr(num1), True);
count:=count+1;
print ('Капча выскакивала -->'+IntToStr(count)+'<-- раз, но мы ее обошли =)');
end;
Delay (888);
end;
end.
Копай в сторону байпасса c отправкой ответа если не заработает. У автора байпасс содержал ключевое слово farm_delay, а у тебя просто 00
Заодно добавил вывод выдранного числа, для дебага. Сам сижу без адреналина уже пару месяцев, мог допустить глупую опечатку. Проверить не могу.
Все равно не работает, к сожалению
 
@Cloudy, хотелось бы увидеть твой html код. Конечно, быстрее было бы прямо на сервере через тимвивер написать скрипт, нежели тыкать пальцем в небо. Я же не гуру делфи и скриптов на паскаль, могу допустить глупую ошибку и не видеть ее в упор
 
кто сможет помочт проблема в том что скрипт не убирает капчю а нооборот взывает могу придоставить чтонада даже тм скайп помогите ктота
 
После таких постов мне иногда хочется кого-нибудь побить... учебником русского языка
 
АП тему, капчу так и не доработали.
 
SARCAZM, при появлении капчи скрипт вписывает число,после чего штраф снят. Но капча после этого не закрывается и все повторяется до бесконечности. В этом вся суть проблемы.
 
Назад
Сверху