Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.
  • Форумы
  •  » iMacros
  •  » iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

№108-11-2015 20:38:53

PRESIDENT
Участник
 
Группа: Members
Зарегистрирован: 09-04-2015
Сообщений: 879
UA: Firefox 42.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.



========================================================================


  Обсуждение скриптов и вопросов связанных с борьбой с капчами.



========================================================================







Начну пожалуй. :)


reCaptcha 2 сохранение на компьютер.
Директорию C:\\CapNum\\, куда сохранять и  имя файла/капчи cap.jpg, естественно можете заменить на свои.


Выделить код

Код:

     if(iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=script ATTR=src:*recaptcha*')>0){
        f1='FRAME NAME=undefined\n';
        iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation'); 
        iimPlayCode('WAIT SECONDS=5'); 
        iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm');
        f2='FRAME '+iimGetExtract().match(/name=".*?"/)+'\n';
        iimPlayCode('ONDOWNLOAD FOLDER=C:\\CapNum\\ FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');

       }




Уменьшение картинки/капчи в размерах.

Тут есть много вариантов, приведу парочку.

Вариант 1

Использование сторонней программы.
Качаем convert.exe и распаковываем в папку куда сохраняются капчи (допустим C:\\CapNum\\).


Вот этот код уменьшит и обрежет картинку/капчу cap.jpg в 2 раза (создаст рядом уменьшенную cap2.jpg)

Выделить код

Код:

    
   var Cc=Components.classes, Ci=Components.interfaces;
   var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);       
   var args=['convert', 'C:\\CapNum\\cap.jpg', '-resize', '200x300', '-crop', '194x253+4+4', 'C:\\CapNum\\cap2.jpg'];  
       file.initWithPath("C:\\CapNum\\convert.exe");       

       proc.init(file); proc.run(false, args, args.length);


Вариант 2

Использование PHP
Качаем вот это и распаковываем в папку  C:\\CapNum\\.
Создаём файлик 1.php в папке куда сохраняются капчи C:\\CapNum\\.

Скрипт  1.php

Выделить код

Код:

<?php
$img=imagecreatefromjpeg("C:/CapNum/cap.jpg");
$des=imagecreatetruecolor(200,300);
$col=imagecolorallocate($des, 0x00, 0x00, 0xFF);
 imagecopyresized($des, $img, 0, 0, 0, 0, 200, 300, 384, 510);
 imagestring($des, 5, 5,   70,  "1", $col);
 imagestring($des, 5, 73,  70,  "2", $col);
 imagestring($des, 5, 140, 70,  "3", $col);
 imagestring($des, 5, 5,   148, "4", $col);
 imagestring($des, 5, 73,  148, "5", $col);
 imagestring($des, 5, 140, 148, "6", $col);
 imagestring($des, 5, 5,   225, "7", $col);
 imagestring($des, 5, 73,  225, "8", $col);
 imagestring($des, 5, 140, 225, "9", $col);
 imagejpeg($des, 'C:/CapNum/cap2.jpg');
 imagedestroy($des);
 imagedestroy($img);
?> 
 


Вот этот код, для запуска 1.php, уменьшит картинку/капчу cap.jpg в 2 раза (создаст рядом уменьшенную cap2.jpg).
И так же пронумерует все варианты ответов (маленькие картинки) от 1 до 9 .

Выделить код

Код:

  

   var Cc=Components.classes, Ci=Components.interfaces;
   var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);       
   var args=['C:\\CapNum\\1.php'];  
       file.initWithPath('C:\\CapNum\\PHP\\PHP.exe');  // <--- Путь до PHP.exe

       proc.init(file); proc.run(false, args, args.length);





=====================================================
RECAPTCHA
=====================================================

скрипт рекапчи, с уменьшением размера картинки и отправлением на рукапчу для распознания
https://pastebin.mozilla.org/8868144

Выделить код

Код:

function resize(){
 var Cc=Components.classes, Ci=Components.interfaces, c, Path='C:\\CapNum\\';
 var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
 var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); 
 var args=['convert', 'C:\\CapNum\\cap.jpg', '-resize', '200x300', '-crop', '194x253+4+4', 'C:\\CapNum\\cap2.jpg'];               
     file.initWithPath(Path+"convert.exe");
     proc.init(file); proc.run(false, args, args.length);}

var key='тут ключик от рукапчи';
var bit='тут биткоин кошель';


        f1='FRAME NAME=undefined\n';
     if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=2 TYPE=DIV ATTR=TXT:reCAPTCHA')>0){
        iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=ROLE:presentation'); 
        iimPlayCode('WAIT SECONDS=5');
        iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM');
     if(iimGetExtract().indexOf('checked="true')<0){   
        iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=iframe ATTR=src:*recaptcha/api2/frame?c=* extract=htm');
        f2='FRAME '+iimGetExtract().match(/name=".*?"/)+'\n';
         if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=CLASS:rc-imageselect-desc-wrapper')>0){ 
     for(a=1; a<9; a++){ 
         if(iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS=1 TYPE=DIV ATTR=CLASS:rc-image-tile-33')>0) break; else
            iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0');} 
            iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=cap.jpg WAIT=YES\n'+f2+'TAG POS=1 TYPE=DIV ATTR=class:rc-imageselect-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');

            iimPlayCode('WAIT SECONDS=2');
            resize();  // <--- Уменьшаем картинку
            iimPlayCode('WAIT SECONDS=2');
            iimPlayCode('TAB OPEN\nTAB T=2');

      /*** -= Отправляем на распознавание =- ***/

              for(sk=0; sk<=9; sk++){ 
                 iimPlayCode('SET !TIMEOUT 30\nURL GOTO=imacros2.rucaptcha.com/new/');
                 iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:key CONTENT='+key);
                 iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=INPUT:FILE ATTR=TYPE:file CONTENT='+Path+'cap2.jpg');
                 iimPlayCode('SET !TIMEOUT 80\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*');
                 iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT');  
                 if(iimGetExtract().search(/\d/)!=-1){     
                 c=iimGetExtract().match(/\d+/g).join(''); 
                 iimDisplay(c);
            if(iimGetExtract().indexOf("ERROR")<0)  break;}}}                                                  
                 iimPlayCode('WAIT SECONDS=1\nTAB CLOSE');    
            if(Number(c)>0){
                for(k=0; k<c.length; k++){
                    iimPlayCode('SET !TIMEOUT_STEP 0\n'+f2+'TAG POS='+c[k]+' TYPE=DIV ATTR=CLASS:rc-imageselect-checkbox');}
                    iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="HTML>BODY>DIV>DIV>DIV:nth-of-type(3)>DIV:nth-of-type(2)>DIV>DIV:nth-of-type(2)>DIV" BUTTON=0'); //<--- Код нажатия кнопки Продолжить, на некоторых сайтах может отличаться
                    iimPlayCode('SET !TIMEOUT 30\n'+f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-verify-button" BUTTON=0');
                    iimPlayCode('WAIT SECONDS=2');}}
        iimPlayCode('SET !TIMEOUT_STEP 0\n'+f1+'TAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM');
        if(iimGetExtract().indexOf('checked="true')>0){  
            iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit); // <--- Водим биткоин кошель
            iimPlayCode('SET !TIMEOUT 30\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*'); // <--- Нажатие кнопки на самом сайте, тег кнопки может отличаться
            iimPlayCode('WAIT SECONDS=1');}}             
          



=====================================================
SOLVEMEDIA
=====================================================


Пытаемся взломать или ищем флеш капчу.
Солвемедия ломается без проблем, если у вас динамический IP.
После каждого распознавания капчи, нужно менять IP, чистить куки и желательно подменять узер агент, т.е. версию операционки и браузера.

Сначала качаем вот это и распаковываем в папку  C:\CapNum\


Обратите внимание, я в скрипте ввёл свои сокращения (мне так удобнее) t0 t3
И если будете копировать только кусок скрипта то и шапку копируйте.

https://pastebin.mozilla.org/8867297

Выделить код

Код:

 var Cc=Components.classes, Ci=Components.interfaces,a,b,c,d,e,f=0,refka='1AWqZ3ke9z8eSvZWFPeHTY8a3jmQNWKhSa';
 var cok=Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);  
 var prf=Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
 var str=Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
 var alt=Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(Ci.nsIPromptService);
 var t0='SET !TIMEOUT_STEP 0\n', t3='SET !TIMEOUT 30\n'; 
  
 kap="javascript:document.write('<b><h1>Распознаём капчу !</h1></b>');window.stop();"; 
 Path='C:\\CapNum\\solve\\'; 

 bit='биткоин кошель'; 

 //for(;;){  
   del_cookis(); 
   
     iimPlayCode('CLEAR\nTAB CLOSEALLOTHERS\nSET !TIMEOUT 30\nURL GOTO=crypto4free.net?r='+refka);
   a=iimPlayCode(t0+'TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:*our*address*'); 
   b=iimPlayCode(t0+'TAG POS=1 TYPE=LABEL FORM=NAME:NoFormName ATTR=TXT:Ваш*адрес:');
   c=iimPlayCode(t0+'TAG POS=1 TYPE=DIV ATTR=ID:faucet-label'); 
   d=iimPlayCode(t0+'TAG POS=1 TYPE=div ATTR=ID:adcopy-outer');  
   e=iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:*ou*wait*');
 if((a>0||b>0||c>0) && d>0 && e<0) solve();
   weit(361);
 //}

/***************************************************/
function solve(){ var txt='', w=0;
   for(q=0; q<2; q++){  
       if(iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:*ou*wait*')>0) break;
   for(z=0; z<20; z++){ 
       /* Если грязная капча обновляем */
      if(iimPlayCode(t0+'TAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image')>0 || iimPlayCode(t0+'TAG POS=1 TYPE=IMG ATTR=SRC:*api.solvemedia.com/papi/media?c=*')>0) reload(); 
      else{ z=100; 
   for(w=0; w<=60; w++){  
      /* Ищем капчу с тегом SPAN slog (которая ломается без распознавания) или флеш капчу или обычный канвас (капча с ровными буквами) */
      if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:slog')>0){
      /* Если ломаемая капча извлекаем текст и нижний код пропускаем */
      if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog')>0){
         iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=SPAN ATTR=ID:slog  EXTRACT=TXT'); txt=iimGetLastExtract();}
      /* Если флеш капча, сохраняем на комп и запускаем функцию flesh() и нижний код пропускаем */    
else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0 || iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay')>0){ 
      if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0) weit(10);
         iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');
         iimPlayCode(t0+'TAG POS=1 TYPE=A ATTR=TXT:Return*Page'); weit(1); flesh();}         
      /* Если обычный канвас (капча с ровными буквами), сохраняем на комп и запускаем функцию canvas() */   
else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:slog')>0){  
         iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*slog CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');weit(1); canvas();}w=100;}}}}
         
          /* Если ничего из верхнего не помогло, грязная капча */
         if(w!=100){
         iimPlayCode('ONDOWNLOAD FOLDER='+Path+' FILE=a.jpg WAIT=YES\nTAG POS=1 TYPE=IMG ATTR=SRC:http://api.solvemedia.com/papi/media?c=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');weit(1);       
         ...
        // Тут отправка на сервис распознавания
         ...
         }
         
         txt=txt.replace(/\W/gi,"").replace(/[0-9]/gi,"").replace(/_/gi,"");  
         
        if(txt!='' && txt.length>5){
         iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit);
         iimPlayCode(t0+'TAG POS=2 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:* CONTENT='+bit);
         iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:adcopy_response CONTENT="'+txt+'"');weit(1);
      if(iimPlayCode(t3+'TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*')<0)
         iimPlayCode(t3+'TAG POS=1 TYPE=BUTTON FORM=NAME:NoFormName ATTR=TXT:*Get*');} else reload();
      if(iimPlayCode(t0+'TAG POS=1 TYPE=DIV ATTR=CLASS:alert*alert*&&TXT:*satoshi*sen*')>0) q=10;}}
         
 
           
         /***-= Обрабатываем флеш капчу =-***/  
function flesh(){ iimDisplay('Обрабатываем флеш капчу');
       iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO="'+kap+'"');  
   var Cc=Components.classes, Ci=Components.interfaces, args=["C:\\CapNum\\solve\\flesh.vbs"];
   var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);   
       file.initWithPath("C:\\Windows\\System32\\wscript.exe"); 
       proc.init(file); proc.run(false, args, args.length); weit(15); 
       iimPlayCode('URL GOTO=file:///'+Path+'otvet.txt\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); txt=iimGetExtract();weit(1);
       iimPlayCode('TAB CLOSE');}         

         /***-= Обрабатываем канвас капчу =-***/  
function canvas(){ iimDisplay('Обрабатываем канвас капчу');
       iimPlayCode('TAB OPEN\nTAB T=2\nURL GOTO="'+kap+'"'); 
   var Cc=Components.classes, Ci=Components.interfaces, args=["C:\\CapNum\\solve\\canvas.vbs"];
   var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);   
       file.initWithPath("C:\\Windows\\System32\\wscript.exe"); 
       proc.init(file); proc.run(false, args, args.length); weit(15); 
       iimPlayCode('URL GOTO=file:///'+Path+'otvet.txt\nTAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT'); txt=iimGetExtract();weit(1);
       iimPlayCode('TAB CLOSE');}         
       
          /***-= Удаляем куки =-***/
 function del_cookis(){  iimDisplay('Удаляем куки');
    var iter=cok.enumerator;
    while (iter.hasMoreElements()){var cookie=iter.getNext();
    if(cookie instanceof Ci.nsICookie){
    cok.remove(cookie.host, cookie.name, cookie.path, cookie.blocked);}}}  

         /***-= Обновление капчи =-***/
function reload(){iimPlayCode(t3+'TAG POS=1 TYPE=IMG ATTR=SRC:*solvemedia.com/media/reload*.gif'); weit(1);}  
     
         /***-= Ожидание =-***/
function weit(s){iimPlayCode('WAIT SECONDS='+s);}                 



to be continued...:)

Отредактировано PRESIDENT (19-04-2016 18:30:59)


На глупые вопросы не отвечаю !!!

В личку только с предложениями по заказу скриптов.

Отсутствует

 

№160225-11-2018 03:34:14

spenser-zet
Участник
 
Группа: Members
Зарегистрирован: 24-11-2018
Сообщений: 7
UA: Chrome 70.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

InfSub пишет:

у автора FRAME NAME=undefined
у вас FRAME NAME="*"
я не готов сказать, как именно в вашем случае ищется фрейм, хотя на сколько помню, раньше он по * не находился и вообще выдавал ошибку на такой способ поиска (могу ошибаться конечно)

конечно ошибаетесь! Я пробовал FRAME NAME=undefined и он уже давно не работает (3 года ж уже прошло с той поры). А вот если вместо нерабочего undefined прописать "*", то всё работает (пашет, фурычит, фунциклирует). Можете сами удостовериться при желании :)

InfSub пишет:

но вопрос даже не в этом, а в том, что же вы пытаетесь добиться конструкцией:

как что? неужели непонятно? ну вы блин даёте!!! Я ж объяснял уже: этот скрипт ПРЕЗИДЕНТА я использую лишь отчасти, и не весь скрипт и не для автоматического распознавания с помощью сервисов типа Рукапчи. Просто не желаю я посылать капчу на сервис Рукапча. Нажимать на картинки я могу и сам вручную. Мой скрипт работает на полуавтомате, то есть когда вылазит гуглокапча, то я всего лишь нажимаю на картинки, когда картинки выбраны, нажимаю "продолжить". И всё, на этом ручная работа закончена. Появляется галочка что гуглокапча распознана. Как только она появилась, мой скрипт её фиксирует и дальше уже делает свою работу. Так понятно? :)

а на счёт этого кода что вам не понятно?

скрытый текст

Выделить код

Код:

   iimPlayCode('WAIT SECONDS=1');
   iimPlayCode('FRAME NAME="*"\nTAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM');}


код рабочий и всё в нем работает. Секундная задержка в нём чтоб успели нормально загрузиться все элементы на странице. А вторая строчка это взято из скрипта ПРЕЗИДЕНТА, только вместо фрейма undefined, который уже не работает, вставлен рабочий в виде "*".
А что собственно говоря вас так страшно возмутило? Может вы знаете способ более рационального решения моего вопроса, но тянете кота за яйца и не спешите его тут озвучивать, пока не зададите пару глупых вопросов?

Отредактировано spenser-zet (25-11-2018 03:41:45)

Отсутствует

 

№160325-11-2018 04:20:17

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3238
UA: Chrome 70.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

spenser-zet пишет:

Так понятно?

объясню еще раз, на пальцах:

скрытый текст

Выделить код

Код:

   iimPlayCode('FRAME NAME="*"\nTAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM');
   if(iimGetExtract().indexOf('checked="true')>0)  break; else     
   iimPlayCode('WAIT SECONDS=1');
   iimPlayCode('FRAME NAME="*"\nTAG POS=1 TYPE=DIV ATTR=CLASS:*rc-anchor-checkbox-holder EXTRACT=HTM');}


1-3 строка - собственно все ок
объясните роль 4й строки?


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№160425-11-2018 11:25:17

spenser-zet
Участник
 
Группа: Members
Зарегистрирован: 24-11-2018
Сообщений: 7
UA: Chrome 70.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

InfSub пишет:

объясните роль 4й строки?

там же до этой строчки стоят команды  break; и else
break значит остановиться, когда найден искомый элемент. А else значит "иначе", то есть что делать скрипту в случае если искомое не найдено. То есть повторять то, что же действие, что и в первой строке (из 4-х вами упомянутых), если элемент не найден.

Добавлено 25-11-2018 11:28:31
и кстати, секундная задержка там не для того, чтоб элементы страницы успели нормально загрузиться, а это время выдержки перед новым исполнением 4-й строки. То есть чтоб цикл поиска искомого "чекеда" был с периодичностью в 1 секунду.

Добавлено 25-11-2018 11:32:41
короче говоря я уже разобрался, что 4-я строчка тут и нафик не нужна. И команда else  тоже. Уже убрал из скрипта. :)

Отредактировано spenser-zet (25-11-2018 12:26:33)

Отсутствует

 

№160525-11-2018 12:18:21

spenser-zet
Участник
 
Группа: Members
Зарегистрирован: 24-11-2018
Сообщений: 7
UA: Chrome 70.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

InfSub пишет:

про цикл вида:

скрытый текст

Выделить код

Код:

for(i=1; i<=99999; i++){


я вообще молчу, ибо тут можно только взгрустнуть, уронить скупую мужскую слезу и отправить автора данного цикла читать основы js

Вот с этого места поподробней, пожалуйста! Что тут не так, в этом образце простого классического цикла? Или может за последние 100 лет уже изобрели более современные виды циклического исполнения скриптов, которые радикально отличаются от приведённого выше?
Может просветите? ;)

Отредактировано spenser-zet (25-11-2018 12:25:44)

Отсутствует

 

№160625-11-2018 13:24:35

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3238
UA: Chrome 70.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

spenser-zet
while()


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№160709-12-2018 15:50:38

dreamkz
Uchastnik
 
Группа: Members
Зарегистрирован: 04-03-2009
Сообщений: 592
UA: Firefox 63.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Извините что спрашиваю тут. Вопрос не про макросы, а про капчу. Если даже условный "светороф" или "гидрант" вылез на полпикселя на соседний квадрат, этот квардрат тоже отмечать? Или это будет ошибкой?

Отсутствует

 

№160809-12-2018 15:55:41

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3238
UA: Chrome 70.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

dreamkz
да


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№160910-12-2018 12:50:06

dreamkz
Uchastnik
 
Группа: Members
Зарегистрирован: 04-03-2009
Сообщений: 592
UA: Firefox 63.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Понятно, спасибо! А то в последнее время с этими ограничениями провайдеров и отсюда вынужденным использованием VPN некоторые сайты стали показывать эти капчи. Особенно гугл-сервисы. Раздражать стало. Будем помечать и пиксели гидрантов.

Отсутствует

 

№161024-12-2018 09:14:47

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3238
UA: Chrome 70.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Новости: Новый алгоритм машинного обучения ломает текстовые CAPTCHA быстрее и точнее предшественников
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№161126-12-2018 13:42:05

mmmaks2004
Участник
 
Группа: Members
Зарегистрирован: 24-03-2015
Сообщений: 50
UA: Firefox 52.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Проба пера:
Вообщем попробовал и я поиграться с нейронками. За основу модели взял тренированную Tensorflow SSD_Mobilenet_V1_pnp из-за маленького размера.
Для обучения подсунул 500 картинок Solvemedia. Тренировал 2 дня (пока не надоело)). Из тренировки исключил буквы i,j,l. (не знаю правильно ли сделал?)
Потом подсунул ей (нейронке) 2010 картинок (распознала 70%, а если еще и найти хороший алгоритм нечеткого поиска слова в словаре по шаблону, то процент можно поднять до 74-75).
Но есть одно но, распознавание зависит от того, конечное ли число фраз в Solvemedia. , т.е. нужно собрать словарь всех фраз капчи, без этого никак.
Ссылка на модель:

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


ссылки публикуются под спойлером в тегах noindex
Берете капчи из папки captcha и файл index.htm.
Запускаете index.htm, жмете кнопку load model (один раз и ждете пока она загрузится), и потом перебираете картинки и смотрите как оно решает.
В папке imacros скрипт для перебора и решения автоматом картинок

InfSub

Отредактировано mmmaks2004 (04-01-2019 23:40:16)

Отсутствует

 

№161226-12-2018 16:12:06

googlenoob
Участник
 
Группа: Members
Зарегистрирован: 21-01-2017
Сообщений: 34
UA: Chrome 70.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Есть ли где ни будь другие модули скачать проверить на простые капчи?

Отсутствует

 

№161309-03-2019 21:58:10

myse
Участник
 
Группа: Members
Зарегистрирован: 09-03-2019
Сообщений: 3
UA: Firefox 60.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

знатоки подскажите -мне нужно изьять сумму в кашельке из такова формата получаемого при екстракте

-- [ boxy ] wallet2.010000 BOXY

я делаю так 

скрытый текст

Выделить код

Код:

SET !VAR1 EVAL("\"{{!EXTRACT}}\".replace(/[^\d]*(\d*)[^]*/g, \"$1\");")


код публикуется в тегах code под спойлером
но получаю только 2 -как извлечь целую сумму

InfSub

Отсутствует

 

№161409-03-2019 22:07:54

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3238
UA: Chrome 72.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

myse

скрытый текст

Выделить код

Код:

/.*?(\d*\.\d+).*/

Отредактировано InfSub (09-03-2019 22:10:24)


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№161510-03-2019 00:16:11

myse
Участник
 
Группа: Members
Зарегистрирован: 09-03-2019
Сообщений: 3
UA: unknown 0.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

а как это использоввать с еволом -_я не пронимаю_-_всегда еанф получаю

п.п. 2.3 Писать безграмотно...

InfSub

Отсутствует

 

№161610-03-2019 07:16:30

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3238
UA: Chrome 72.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

myse
http://www.kolobok.us/smiles/madhouse/dash1.gif а заменить регулярку, используемую у вас, на эту, не...?
про то что replace тут вообще не уместен, я вообще молчу... для этого есть match() или exec()
replace() будет работать с выражением выше, разве что внутри eval() нужен двойной обратный слеш, а не одинарный перед метасимволами, как минимум перед точкой

скрытый текст

Выделить код

Код:

SET !EXTRACT "-- [ boxy ] wallet2.010000 BOXY"
SET !VAR1 EVAL("'{{!EXTRACT}}'.replace(/.*?(\d*\\.\d+).*/, '$1');")
prompt {{!var1}}


ниже пример с match(), что короче и без кучи "зубочисток"
скрытый текст

Выделить код

Код:

SET !EXTRACT "-- [ boxy ] wallet2.010000 BOXY"
SET !VAR1 EVAL("'{{!EXTRACT}}'.match(/\d*\.\d+/);")
prompt {{!var1}}

Отредактировано InfSub (10-03-2019 07:34:07)


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№161710-03-2019 09:37:41

myse
Участник
 
Группа: Members
Зарегистрирован: 09-03-2019
Сообщений: 3
UA: unknown 0.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

спасибо, все получилось -не судите строга

Отсутствует

 

№161811-03-2019 00:31:41

Odessaman
Забанен
 
Группа: Members
Зарегистрирован: 21-02-2019
Сообщений: 10
UA: Chrome 66.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

mmmaks2004
удалено, избыточное и ненужное цитирование
Спасибо! Слушай, подскажи-ка пожалуйста, а много ли надо усилий потратить, чтоб через эту нейронку разгадывать не простую капчу, а ещё и с арифметикой? В частности вот такую надо:

10 каптч
http://funkyimg.com/i/2SdAV.png
http://funkyimg.com/i/2SdAU.png
http://funkyimg.com/i/2SdAW.png
http://funkyimg.com/i/2SdAX.png
http://funkyimg.com/i/2SdAY.png
http://funkyimg.com/i/2SdAZ.png
http://funkyimg.com/i/2SdB1.png
http://funkyimg.com/i/2SdB2.png
http://funkyimg.com/i/2SdB3.png
http://funkyimg.com/i/2SdB4.png

Интересуюсь как легче и проще всего гадать эти каптчи? Подскажите кто в курсе дела?

InfSub

Отсутствует

 

№161911-03-2019 14:26:08

PRESIDENT
Участник
 
Группа: Members
Зарегистрирован: 09-04-2015
Сообщений: 879
UA: Firefox 48.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Odessaman

Попробуй XEvil-у подсунуть
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


ссылки на сторонние ресурсы публикуются только в спойлере в тегах noindex
И ещё капчу сначала чуток почистить бы не мешало и монохромную сделать.

InfSub


На глупые вопросы не отвечаю !!!

В личку только с предложениями по заказу скриптов.

Отсутствует

 

№162012-03-2019 08:52:50

karginaolga
Участник
 
Группа: Members
Зарегистрирован: 23-09-2016
Сообщений: 194
UA: Firefox 60.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Odessaman
такую капчу даже человеку разгадать трудно, надо растрелять админа

Отсутствует

 

№162114-03-2019 12:50:42

Odessaman
Забанен
 
Группа: Members
Зарегистрирован: 21-02-2019
Сообщений: 10
UA: Chrome 66.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

PRESIDENT пишет:

Попробуй XEvil-у подсунуть

Спасибо! Программа реально гадает эту капчу. Хоть и не на 100%, но если попадается попроще каптча, то тоже вполне нормально.

гадает
http://funkyimg.com/i/2SjBg.png

Только вопрос один возникает: как эту программу с imacros'om состыковать?  Это надо эмулятор Антигейт или как? Вот что в настройках программы прописалось:
настройки
http://funkyimg.com/i/2SjBf.png

А как дальше? В каком направлении капать? Подскажите пожалуйста как вообще js-скрипт подружить с этой прграммой? Вот допустим: скачали и сохранили картинку с каптчей в папку на диске Ц. Потом из этой папки берём и загружаем в эмулятор Антигейта и по идее эта прога должна бы перехватить эту картинку и начать гадать? И как отгадает, то выдаст ответ в эмулятор и дальше уже скрипт вставит ответ в соответствующее поле на сайте? Так примено?

Отсутствует

 

№162214-03-2019 16:03:24

googlenoob
Участник
 
Группа: Members
Зарегистрирован: 21-01-2017
Сообщений: 34
UA: Chrome 71.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Я в своих скриптах использую такую конструкцию, меня пока устраивает за исключением одного нюанса. Демка временами отдаёт ответ со звездочкой, но и это можно обойти, конечно, придется тратить время, к примеру, при постинге, где ни будь, прилетел ответ искажённый то отправляете субмит в результате ошибки получаете новую капчу и уже на новую вероятно получите правильный ответ от xevil.

Данные несколько кусков кода работают у меня в скрипте для комментирования UCOZ сайтов

Вырезка из управляющего js скрипта:

скрытый текст

Выделить код

Код:

iimPlay("Z:\\iMacros\\ваша папка\\capcha-ucoz.iim")
for (;;){ 
check = content.document.body.innerHTML;
if (~check.indexOf('XEvil 3.0.2') || ~check.indexOf('ERROR_NO_SLOT_AVAILABLE'))

{
    iimPlay("Z:\\iMacros\\ваша папка\\capcha-ucoz-povtor.iim",60)
} 
else {
    iimPlay("Z:\\iMacros\\ваша папка\\capcha-ucoz-good.iim",60)
    break
}


И три подключаемых по условиям скрипта исполнителя на iim.

1
скрытый текст

Выделить код

Код:

SET !ERRORIGNORE YES
SET !REPLAYSPEED 1
SET !TIMEOUT_PAGE 120
ONDOWNLOAD FOLDER=C:\CAPCHA FILE=captcha.jpg
TAG POS=1 TYPE=IMG ATTR=SRC:http://*/secure/?k=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
'PAUSE
TAB OPEN
TAB T=2
URL GOTO=file:///D:/%D0%9C%D0%BE%D0%B8%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B/Desktop/imacros-local.html
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://192.168.0.8:80/in.php ATTR=NAME:key CONTENT=feb056d3be7b4a4eac291bea2a34b3ab
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://192.168.0.8:80/in.php ATTR=NAME:file CONTENT=C:\CAPCHA\captcha.jpg
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://192.168.0.8:80/in.php ATTR=*
'Команда ожидания появления текста ответа на капчу 1 ответ до 16 сек далее от 8 сек
WAIT SECONDS=3
TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT
SET captid EVAL("var s=\"{{!EXTRACT}}\"; s.split(' ')[0].split('|')[1]")
SET !EXTRACT NULL
'Get the answer
URL GOTO= http://192.168.0.8:80/res.php?key=feb056d3be7b4a4eac291bea2a34b3ab&action=get&id={{captid}}
'Wait for the answer
WAIT SECONDS=3


2

скрытый текст

Выделить код

Код:

SET !ERRORIGNORE YES
SET !REPLAYSPEED 1
SET !TIMEOUT_PAGE 120
'ONDOWNLOAD FOLDER=C:\CAPCHA FILE=captcha.jpg
'TAG POS=1 TYPE=IMG ATTR=SRC:http://*/secure/?k=* CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT
'PAUSE
'TAB OPEN
'TAB T=2
URL GOTO=file:///D:/%D0%9C%D0%BE%D0%B8%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B/Desktop/imacros-local.html
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:http://192.168.0.8:80/in.php ATTR=NAME:key CONTENT=feb056d3be7b4a4eac291bea2a34b3ab
TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:http://192.168.0.8:80/in.php ATTR=NAME:file CONTENT=C:\CAPCHA\captcha.jpg
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:http://192.168.0.8:80/in.php ATTR=*
'Команда ожидания появления текста ответа на капчу 1 ответ до 16 сек далее от 8 сек
WAIT SECONDS=3
TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT
SET captid EVAL("var s=\"{{!EXTRACT}}\"; s.split(' ')[0].split('|')[1]")
SET !EXTRACT NULL
'Get the answer
URL GOTO= http://192.168.0.8:80/res.php?key=feb056d3be7b4a4eac291bea2a34b3ab&action=get&id={{captid}}
WAIT SECONDS=3


3

скрытый текст

Выделить код

Код:

SET !ERRORIGNORE YES
SET !REPLAYSPEED 1
SET !TIMEOUT_PAGE 120
'EVENT TYPE=CLICK SELECTOR="HTML>BODY" BUTTON=0 EXTRACT=TXT
TAG XPATH=".//body" EXTRACT=TXT
SET !VAR1 EVAL("'{{!EXTRACT}}'.replace('OK|','')")
SET !EXTRACT NULL
TAB CLOSE
TAB T=0
'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:addform ATTR=NAME:code CONTENT={{!VAR1}}
'Посимволный ввод полученного ответа на капчу 
EVENT TYPE=CLICK SELECTOR="#fCode" BUTTON=0
EVENTS TYPE=KEYPRESS SELECTOR="#fCode" CHARS={{!VAR1}}
'Во время паузы проверить правильность введенной капчи
PAUSE
'TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:NoFormName ATTR=*
'Отправка формы эмуляцией нажатия ENTER
'EVENT TYPE=KEYPRESS SELECTOR="#fCode" KEY=13
'TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:addform ATTR=NAME:submit
EVENT TYPE=CLICK SELECTOR="#addcBut" BUTTON=0
'Пока во время паузы вручную отключать CapMonstr
SET !TIMEOUT_STEP 20
TAG POS=1 TYPE=SPAN ATTR=TXT:Неправильный<SP>код<SP>безопасности
'PAUSE
'TAB T=2
'SET !TIMEOUT_STEP 20
'TAG POS=1 TYPE=SPAN ATTR=TXT:Комментарий<SP>успешно*
PAUSE
SET WaitSeconds0 EVAL("var min=1,max=3;Math.floor(Math.random()*(max-min+1))+min;")
WAIT SECONDS={{WaitSeconds0}}
'TAB CLOSE
'TAB T=1


Я так пишу, а не полностью на js!

Отредактировано googlenoob (14-03-2019 16:07:01)

Отсутствует

 

№162314-03-2019 17:05:33

Odessaman
Забанен
 
Группа: Members
Зарегистрирован: 21-02-2019
Сообщений: 10
UA: Chrome 66.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

googlenoob спасибо за то, что откликнулся! Но без js как-то совсем печально. Надо именно на js делать скрипт! Только так можно нормально работать с капчами и вообще!
Но вопрос в следующем: как состыковать imacros и js с этой программой по гаданию капчи? Желательно чтоб кто-то опытный подсказал нам, как это сделать правильно. Так оно и тебе бы тоже пригодилось: был бы один нормальный скрипт, а не целая солянка, управляемая одним недоработанным js.
Вот оинтересует именно как состыковать скрипт и xevil. Что надо написать, эмулятор Антигейта? И через него посылать капчу в программу? Или как? Подсажите кто-нибудь пожалуйста.

Отсутствует

 

№162414-03-2019 17:20:33

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3238
UA: unknown 0.0
Веб-сайт

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Odessaman так вам и дали кусок js-кода, который подгружает iim-код, в чем проблема-то? в чем печаль? или вам все на блюдечке, за вас написать надо? идите тогда в тему заказа скриптов, вам напишут по нашему ТЗ...
не нравится код в iim, перенесите его в управляющий js.. дело 10и минут, суть от этого не изменится,файлов только меньше будет и взаимосвязей соответственно

Добавлено 14-03-2019 17:26:41

Odessaman пишет:

Вот оинтересует именно как состыковать скрипт и xevil.

откройте документацию по xevil и посмотрите как передать параметры через командную строку, в faq есть пример запуска ПО с параметрами из imacros

Отредактировано InfSub (14-03-2019 17:29:09)


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox

на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№162514-03-2019 17:35:51

googlenoob
Участник
 
Группа: Members
Зарегистрирован: 21-01-2017
Сообщений: 34
UA: Chrome 71.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Odessaman пишет:

Вот оинтересует именно как состыковать скрипт и xevil. Что надо написать, эмулятор Антигейта? И через него посылать капчу в программу? Или как? Подсажите кто-нибудь пожалуйста.

Не эмулятор отправляет, а файл HTML страницы imacros-local.html

Отсутствует

 

№162614-03-2019 18:52:21

Odessaman
Забанен
 
Группа: Members
Зарегистрирован: 21-02-2019
Сообщений: 10
UA: Chrome 66.0

Re: iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

googlenoob пишет:

Не эмулятор отправляет, а файл HTML страницы imacros-local.html

Да, верно! Именно  файл HTML. А эмулятор это уже в самой программе имеется. Всё верно.  Нужен именно этот  файл HTML страницы imacros-local.html Спасибо за уточнение! И за предоставленные коды тоже.
Попробую из них сделать один js скрипт. Если получится, выложу сюда, возможно и другие воспользуются. Мне не жалко удалено, п.п. 3.13

InfSub

Отредактировано Odessaman (14-03-2019 18:59:15)

Отсутствует

 
  • Форумы
  •  » iMacros
  •  » iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]