Обход антибота (интерлюд) - Zhyk.Ru Forums
Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.Ru LIVE! Реклама на Zhyk.Ru Доска почета top.zhyk.ru (beta) Премиум-аккаунт

Обход антибота (интерлюд)

-

Подполье Lineage 2 (0 уровень)

- Темы, перенесенные из Подполья 1 уровня (архивные за 2008-2015). Отличная основа для поиска новых уязвимостей.

Ответ
 
Опции темы Опции просмотра
Старый 23.11.2011, 00:23   #1
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 505
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
Talking Обход антибота (интерлюд)

Давненько я скрипты не писал, не знаю будет ли работать, но если что - доведем это чудище до ума


Короче есть защита от ботов интересная. Пишет время от времени в френд чат и задает глупые вопросы. Вот пример:
[Ссылки могут видеть только зарегистрированные пользователи. ]

С этой защитой столкнулся vlaha, ну и обратился с идеей написать скрипт обхода, чем и занялись. Вот какой скрипт получился:

Код:
var
   base : array [0..99] of string;
   a : integer;
   name1, name2, msg1 : string;

Procedure OnDestroy;
Begin
     gSys.SetTimer(1,0);
end;

Procedure OnCreate;
Begin
//==============================================
     base[0]:='ноль';
     base[1]:='один';
     base[2]:='два';
//==============================================
//Позже дополню массив base
a:=-1;
name1:='';
name2:='';
msg1:='';
end;

procedure SendMsg(msg : string);
begin
  if (gSys.isGS > 0) and (gSys.TrafType = 2) then begin
    gSys.EnSendC(FormatPck('%cddss',[#$4A,0,10,#0,msg+#0]));
    gSys.sleep(10);
  end;
end;

function OnTimer(ntimer, count : integer) : boolean;
begin
  result := true;
  if a=-1 then begin SendMsg('Строка не распознана'); exit; end;
  gSys.EnSendS(FormatPck('%css',[$CC, IntToStr(a), 'Bot catcher system']));
  SendMsg('Ответили : '+IntToStr(a));
end;

function deco_base(str : string) : integer;
var
   i : integer;
begin
     result := -1;
     for i:=0 to 99 do
         if base[i]=str then begin result:=i; exit; end;
end;

function text_dec(msg1:string) : integer;
var
   temp1, temp2 : string;
   b : boolean;
begin
     result := -1;
     //Сколько будет сорок девять + двадцать девять?
     //У вас есть 3 попытки и 5 минут, чтобы правильно ответить на вопрос.
     //В случае 3х ошибок или по истечении времени, вы будете автоматически отправлены в тюрьму на 500 минут.
     //Ответ введите цифрами.
     temp1 := copy (msg1 , 1, pos ('?', msg1) );
     temp1 := copy (temp1 , 1, 14 );

     if (pos ('+', temp1)>1) then
     begin
        temp2:= copy (temp1, 1, pos('+', temp1)-1);
        temp1:= copy (temp1, pos('+', temp1)+2, length(temp1)-2-pos('+', temp1));
        result := deco_base(temp1)+deco_base(temp2);
     end else
     if (pos ('плюс' , temp1)>1) then
     begin
        temp2:= copy (temp1, 1, pos('плюс', temp1)-1);
        temp1:= copy (temp1, pos('плюс', temp1)+2, length(temp1)-2-pos('плюс', temp1));
        result := deco_base(temp1)+deco_base(temp2);
     end else
     if (pos ('-', temp1)>1) then
     begin
          temp2:= copy (temp1, 1, pos('-', temp1)-1);
          temp1:= copy (temp1, pos('-', temp1)+2, length(temp1)-2-pos('-', temp1));
          result := deco_base(temp2)-deco_base(temp1);
     end else
     if (pos ('минус' , temp1)>1) then
     begin
          temp2:= copy (temp1, 1, pos('минус', temp1)-1);
          temp1:= copy (temp1, pos('минус', temp1)+2, length(temp1)-2-pos('минус', temp1));
          result := deco_base(temp2)-deco_base(temp1);
     end;
end;

begin
if (_gFromServ) and (_gBuff[3]=#$FD) then
   begin
        ScanPck5(_gBuff,8,'sss', name1, name2, msg1, nil, nil);
        if name1='Bot catcher system'+#0 then //возможно без +#0
        begin
                SendMsg('Активация');
                a:=text_dec(msg1);
                gSys.SetTimer(1,3000);
        end;
   end;
end.
Ниже vlaha выложит дополнение массива возможных чисел. Протестирует скрипт и дополнит его если что

Понимаю что алгоритм реализации распознавания вопроса глуп, но я не придуал более оптимальная варианта чем атака в лоб)
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';
  Ответить с цитированием
Старый 23.11.2011, 00:39   #2
 Сержант
Аватар для vlaha
 
vlaha определенно авторитетная личностьvlaha определенно авторитетная личностьvlaha определенно авторитетная личностьvlaha определенно авторитетная личностьvlaha определенно авторитетная личностьvlaha определенно авторитетная личностьvlaha определенно авторитетная личностьvlaha определенно авторитетная личностьvlaha определенно авторитетная личность
Регистрация: 15.11.2009
Сообщений: 141
Популярность: 1112
Сказал(а) спасибо: 212
Поблагодарили 421 раз(а) в 137 сообщениях
Отправить сообщение для vlaha с помощью ICQ
 
По умолчанию Re: Обход антибота (интерлюд)

Код:
base[1]:='один';
base[2]:='два';
base[3]:='три';
base[4]:='четыре';
base[5]:='пять';
base[6]:='шесть';
base[7]:='семь';
base[8]:='восемь';
base[9]:='девять';
base[10]:='десять';
base[11]:='одинадцать';
base[12]:='двенадцать';
base[13]:='тринадцать';
base[14]:='четырнадцать';
base[15]:='пятнадцать';
base[16]:='шеснадцать';
base[17]:='семьнадцать';
base[18]:='восемнадцать';
base[19]:='девятнадцать';
base[20]:='двадцать';
base[21]:='двадцать один';
base[22]:='двадцать два';
base[23]:='двадцать три';
base[24]:='двадцать четыре';
base[25]:='двадцать пять';
base[26]:='двадцать шесть';
base[27]:='двадцать семь';
base[28]:='двадцать восемь';
base[29]:='двадцать девять';
base[30]:='тридцать';
base[31]:='тридцать один';
base[32]:='тридцать два';
base[33]:='тридцать три';
base[34]:='тридцать четыре';
base[35]:='тридцать пять';
base[36]:='тридцать шесть';
base[37]:='тридцать семь';
base[38]:='тридцать восемь';
base[39]:='тридцать девять';
base[40]:='сорок';
base[41]:='сорок один';
base[42]:='сорок два';
base[43]:='сорок три';
base[44]:='сорок четыре';
base[45]:='сорок пять';
base[46]:='сорок шесть';
base[47]:='сорок семь';
base[48]:='сорок восемь';
base[49]:='сорок девять';
base[50]:='пятьдесят';
base[51]:='пятьдесят один';
base[52]:='пятьдесят два';
base[53]:='пятьдесят три';
base[54]:='пятьдесят  четыре';
base[55]:='пятьдесят  пять';
base[56]:='пятьдесят  шесть';
base[57]:='пятьдесят  семь';
base[58]:='пятьдесят  восемь';
base[59]:='пятьдесят  девять';
base[60]:='шестьдесят';
base[61]:='шестьдесят один';
base[62]:='шестьдесят два';
base[63]:='шестьдесят три';
base[64]:='шестьдесят четыре';
base[65]:='шестьдесят пять';
base[66]:='шестьдесят шесть';
base[67]:='шестьдесят семь';
base[68]:='шестьдесят восемь';
base[69]:='шестьдесят девять';
base[70]:='семьдесят';
base[71]:='семьдесят один';
base[72]:='семьдесят два';
base[73]:='семьдесят три';
base[74]:='семьдесят четыре';
base[75]:='семьдесят пять';
base[76]:='семьдесят шесть';
base[77]:='семьдесят семь';
base[78]:='семьдесят восемь';
base[79]:='семьдесят девять';
base[80]:='восемьдесят';
base[81]:='восемьдесят один';
base[82]:='восемьдесят два';
base[83]:='восемьдесят три';
base[84]:='восемьдесят четыре';
base[85]:='восемьдесят пять';
base[86]:='восемьдесят шесть';
base[87]:='восемьдесят семь';
base[88]:='восемьдесят восемь';
base[89]:='восемьдесят девять';
base[90]:='девяности';
base[91]:='девяности один';
base[92]:='девяности два';
base[93]:='девяности три';
base[94]:='девяности четыре';
base[95]:='девяности пять';
base[96]:='девяности шесть';
base[97]:='девяности семь';
base[98]:='девяности восемь';
base[99]:='девяности девять';
вот до сотни
________________
==============>[[Ссылки могут видеть только зарегистрированные пользователи. ]]<==============
  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пвп интерлюд plan09 Базы серверов и брут 0 02.07.2011 21:27
[Обсуждение] Принцип работы Немецкого (антибота) скрипта. shark71 Общение и обсуждение 14 28.03.2011 14:03

www.webmoney.ru
Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 00:09.

Powered by vBulletin
Copyright © 2018 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Powered by GShost.net