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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.
  • Форумы
  •  » iMacros
  •  » iMacros: Капчи, сохранение и распознавание. reCaptcha, Solve Media.

№108-11-2015 20:38:53

PRESIDENT
Участник
 
Группа: Members
Зарегистрирован: 09-04-2015
Сообщений: 885
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)


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№80210-06-2016 20:12:52

gepavlik
Участник
 
Группа: Members
Зарегистрирован: 14-12-2015
Сообщений: 62
UA: Chrome 34.0

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

PRESIDENT
Данный код стал разгадывать больше капчь спасибо , если бы еще авто перекос текста было бы супер

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

Выделить код

Код:

<?php 
   /***-= SPAN =-***/                                                       
 $ima=imagecreatefromjpeg('C:/tmp/image1.jpg'); 
 //Убираем мусор в верхнем левом углу
  for($x=0; $x<130;$x++){
  for($y=0; $y<19; $y++){      
  imagesetpixel($ima,$x,$y,16777215);}}
 $xd=imagesx($ima);$yd=imagesy($ima);
 $imb=imagecreatetruecolor($xd,$yd); 
 
 //Делаем чёрно-белую 
 $xd=imagesx($ima);$yd=imagesy($ima);
 $imc=imagecreatetruecolor($xd,$yd); 
 for($x=0;$x<$xd;$x++){
 for($y=0;$y<$yd;$y++){    
 $c=imagecolorat($ima,$x,$y);
 $a=imagecolorsforindex($ima,$c);
 if($a[red]>=160&&$a[green]>=160&&$a[blue]>=160) 
 imagesetpixel($imc,$x,$y,16777215);else
 imagesetpixel($imc,$x,$y,0);}}


   imagejpeg($imc,'C:/tmp/image1.jpg');
   imagedestroy($ima);
   imagedestroy($imb);
   imagedestroy($imc);
   
   //<--- Поворачиваем картинку, -1 это угол наклона
 //  $ima=imagecreatefromjpeg('C:/tmp/image1.jpg'); //<--- изначальная картинка
// $imb=imagerotate($ima, -2, 16777215); //<--- Поворачиваем картинку, -5 это угол наклона
// imagejpeg($imb,'C:/tmp/image1.jpg'); //<--- Выводим результат в *.jpg
//  imagedestroy($ima);
//  imagedestroy($imb); 
 


   passthru('C:/tmp/solve/solve C:/tmp/image1.jpg C:/tmp/image1 -l eng');
?>


если не так InfSub извини я текст разместил внутри кода
Примеры, в правилах, для чего даны? Чтобы вы их игнорировали?
Замечание за неоднократное нарушение правил по оформлению постов

InfSub

Отсутствует

 

№80314-06-2016 18:41:23

dvitkovs
Участник
 
Группа: Members
Зарегистрирован: 08-11-2015
Сообщений: 266
UA: Palemoon 25.0

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

Здравствуйте!
А не подскажите ли, как переписать html-код-строчку в ява-скрипт форму из исходного кода страницы?
Дело в следующем: есть капча, в которой уже содержится ответ на странице в скрытом виде:

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

Выделить код

Код:

9 + 4 =                             <input name="userResult2" hidden="hidden" value="13">

картинка
Screenshot-793.1465918611.png


Там надо решить арифметическое действие, в данном случае прибавить четыре к девяти. И есть ответ: 13.
А как бы этот исходный код страницы преобразовать в js-код, чтоб яваскрипт извлекал ответ (потом вставлял в нужное поле)?

Отредактировано dvitkovs (14-06-2016 19:11:21)

Отсутствует

 

№80414-06-2016 20:19:26

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

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

dvitkovs

Выделить код

Код:

iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:userResult2 extract=htm');
otvet=iimGetExtract().match(/value="(\d+)/)[1];
alert(otvet);

Отредактировано PRESIDENT (14-06-2016 20:53:42)


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№80514-06-2016 22:09:56

dvitkovs
Участник
 
Группа: Members
Зарегистрирован: 08-11-2015
Сообщений: 266
UA: Palemoon 25.0

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

PRESIDENT Благодарю!

Отсутствует

 

№80617-06-2016 15:02:46

dim222
Участник
 
Группа: Members
Зарегистрирован: 06-03-2016
Сообщений: 423
UA: Chrome 51.0

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

PRESIDENT Подскажи пожалуйста! Код на солве брал из шапки темы. При взломе span или canvas все равно идет отправка на сервис. И еще <otvet.txt> в поле не вставляется.

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

Выделить код

Код:

function Solve(){ var txt='', w=0;
    
   for(z=0; z<2; z++){ 
       /* Если нет поля для ввода, обновляем */
      if(iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:adcopy_response')<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='+Pats+' 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='+Pats+' 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('FILEDELETE NAME='+Pats+'a.jpg');weit(2);
  if(iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:adcopy_response')<0 || iimPlayCode(t0+'TAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image')<0)  reload(); weit(1);
  iimPlayCode('ONDOWNLOAD FOLDER= '+Pats+' FILE=a.jpg WAIT=YES\nTAG POS=1 TYPE=IMG ATTR=ID:adcopy-puzzle-image-image CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT');
  iimPlayCode(t3+'TAB OPEN\nTAB T=2\nURL GOTO=http://imacros2.rucaptcha.com/new/');
  iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:getcapcha.php ATTR=NAME:key CONTENT=' +keys);
  iimPlayCode(t0+'TAG POS=1 TYPE=INPUT:FILE FORM=ACTION:getcapcha.php ATTR=NAME:file CONTENT=' +Pats+ 'a.jpg');
  iimPlayCode('SET !TIMEOUT 120\nTAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:* ATTR=*');
  iimPlayCode(t0+'TAG POS=1 TYPE=* ATTR=TXT:* EXTRACT=TXT');
  iimDisplay(iimGetExtract());
  txt = iimGetExtract();
  iimPlayCode('TAB CLOSE'); }
  
    txt=txt.replace(/\W/gi,"").replace(/[0-9]/gi,"").replace(/_/gi,"");  
         
    if(txt!='' && txt.length>3){
     iimPlayCode('SET !TIMEOUT_STEP 0\nSET !TIMEOUT 30\nTAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=ID:adcopy_response CONTENT='+txt+' \n');weit(1);} else reload();
  }

Отсутствует

 

№80717-06-2016 17:45:00

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

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

dim222
Скрипт дан для примерного образца, каждый делает для себя, по своим вкусам и/или знаниям.
У меня то естественно это всё давно уже по другому.


dim222 пишет

При взломе span или canvas все равно идет отправка на сервис.

Вот эта строка как раз и ищет слог канвас или флеш капчу

Выделить код

Код:

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){
...
w=100;}

и вот это w=100; указывает на выход из цикла for(w=0; w<=60; w++){

и ниже проверяется  сработал ли этот код, если нет то отправка на антидоту/рукапчу
if(

w!=100

) {


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№80817-06-2016 21:07:15

dim222
Участник
 
Группа: Members
Зарегистрирован: 06-03-2016
Сообщений: 423
UA: Chrome 51.0

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

PRESIDENT
Понял.Спасибо!!!

Отсутствует

 

№80917-06-2016 22:39:02

Koks
Участник
 
Группа: Members
Зарегистрирован: 02-10-2015
Сообщений: 151
UA: Chrome 51.0

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

dim222

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

Выделить код

Код:

var txt='', w=0;
Убери из функции и добавь в шапку скрипта

if(w!=100) {
замени на
if(w!=100 && txt.length<5){

iimPlayCode('TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:adcopy_response CONTENT="'+txt+'"');
txt='';

Отредактировано Koks (17-06-2016 22:56:26)

Отсутствует

 

№81018-06-2016 13:43:38

dim222
Участник
 
Группа: Members
Зарегистрирован: 06-03-2016
Сообщений: 423
UA: Chrome 51.0

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

Koks
Все получилось.Спасибо!!!;)

Отредактировано dim222 (18-06-2016 14:57:58)

Отсутствует

 

№81119-06-2016 01:27:25

Eltar
Участник
 
Группа: Members
Зарегистрирован: 13-02-2016
Сообщений: 93
UA: Firefox 47.0

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

Ребята, приветствую!
Может быть кто-нибудь знает каким макаром можно разделить скрипт на клиентскую и серверную часть? Забодался редактировать каждую копию скрипта из-за какой-то одной-единственной строчки. Должно быть, как мне кажется, два файла. 1 - js-файл, в котором прописываем исходные данные. 2 - txt-файл на серваке, в котором держим функции скрипта. 1 файл запускается, подтягивает функции из 2-го скрипта и запускает их на выполнение.
В черновом, не работающем виде у меня вышло вот такая байда:
1 js-файл:

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

Выделить код

Код:

iimPlayCode('URL GOTO=file:///D:/iMacros/Macros/Cranes/CraneSSS/SCRIPT_functions.txt\nTAG POS=1 TYPE=PRE ATTR=*');
iimGetLastExtract();
Alerttt();


2 файл SCRIPT_functions.txt:
скрытый текст

Выделить код

Код:

function Alerttt(){
    alert ("Hello world")
}


Вопрос: как заставить это страхолюдие работать и возможно ли это в принципе?

Отсутствует

 

№81219-06-2016 01:41:21

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

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

Eltar
В факе есть пример запуска одного скрипта из другого.


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№81319-06-2016 12:29:35

Eltar
Участник
 
Группа: Members
Зарегистрирован: 13-02-2016
Сообщений: 93
UA: Firefox 47.0

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

PRESIDENT пишет

Eltar
В факе есть пример запуска одного скрипта из другого.

ой как просто! Спасибо большое!

Отсутствует

 

№81420-06-2016 08:58:42

Eltar
Участник
 
Группа: Members
Зарегистрирован: 13-02-2016
Сообщений: 93
UA: Firefox 47.0

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

Eltar
В факе есть пример запуска одного скрипта из другого.

Запустил один макрос из другого, но функции, написанные во втором .js не доступны, похоже, в основном.

Случай первый, рабочий:

скрытый текст
Основной js:

Выделить код

Код:

iimPlayCode("URL GOTO=imacros://run/?m=Cranes/CraneSSS/SCRIPTfunctions.js");

Второстепенный js:

Выделить код

Код:

function Alerttt(){
    alert("Hello World!");
}
Alerttt();


Случай второй, как хотелось бы чтобы работал, но не работает:
скрытый текст
Основной js:

Выделить код

Код:

iimPlayCode("URL GOTO=imacros://run/?m=Cranes/CraneSSS/SCRIPTfunctions.js");
Alerttt();

Второстепенный js:

Выделить код

Код:

function Alerttt(){
    alert("Hello World!");
}


Как бы сделать чтобы функции, указанные во второстепенном файле были доступны в основном, а?

Отсутствует

 

№81520-06-2016 10:32:52

Док
Участник
 
Группа: Members
Зарегистрирован: 26-02-2014
Сообщений: 27
UA: Firefox 43.0

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

Eltar пишет

Случай второй, как хотелось бы чтобы работал, но не работает:

скрытый текст
Основной js:

Выделить код

Код:

iimPlayCode("URL GOTO=imacros://run/?m=Cranes/CraneSSS/SCRIPTfunctions.js");
Alerttt();

Второстепенный js:

Выделить код

Код:

function Alerttt(){
    alert("Hello World!");
}


Как бы сделать чтобы функции, указанные во второстепенном файле были доступны в основном, а?

Попробуй так

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

Выделить код

Код:

iimPlayCode("URL GOTO=file://E:/Cranes/CraneSSS/SCRIPTfunctions.js\nTAG POS=1 TYPE=HTML ATTR=* extract=txt \n");
var GlobalFunction=iimGetExtract(1);
eval.apply(window,[GlobalFunction]);
Alerttt();


Вместо "E:/Cranes/CraneSSS/SCRIPTfunctions.js" укажи полный путь к твоему файлу SCRIPTfunctions.js

Отсутствует

 

№81620-06-2016 12:00:19

Eltar
Участник
 
Группа: Members
Зарегистрирован: 13-02-2016
Сообщений: 93
UA: Firefox 47.0

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

Док, дружище, спасибо! Только нужно так, оказывается:

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

Выделить код

Код:

iimPlayCode("URL GOTO=file://D:/iMacros/Macros/Cranes/CraneSSS/SCRIPTfunctions.js\nTAG POS=1 TYPE=HTML ATTR=* extract=txt \n");
var GlobalFunction=iimGetExtract(1);
eval(GlobalFunction);
Alerttt();

Отсутствует

 

№81720-06-2016 20:13:10

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

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

Док
Зачем создавать промежуточную переменную GlobalFunction ?


Eltar
Альтернативный пример, работает на всех версиях мазил и имакроса, есть в факе !
Не требует извлечения содержимого скрипта, а сразу его запускает.

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

var Cc=Components.classes, Ci=Components.interfaces;
var ab=Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader);
...
ab.loadSubScript("file:///C:\\my_2_script.js");


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№81820-06-2016 20:48:34

Док
Участник
 
Группа: Members
Зарегистрирован: 26-02-2014
Сообщений: 27
UA: Firefox 43.0

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

PRESIDENT пишет

Док
Зачем создавать промежуточную переменную GlobalFunction ?

Исключительно для моего удобства, чтобы через год, когда понадобится внести правки в код не запутаться в повторяющихся iimGetExtract(1). Знаю, что без этого можно обойтись.

Отсутствует

 

№81920-06-2016 22:43:48

Hamzat
Участник
 
Группа: Members
Зарегистрирован: 30-03-2015
Сообщений: 326
UA: Chrome 50.0

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

PRESIDENT

Альтернативный пример, работает на всех версиях мазил и имакроса

Почему то у меня не работает, ошибок нет, но код не загружает, можно как то отследить где именно ошибка?


iMacros скрипты на заказ!

Отсутствует

 

№82020-06-2016 22:48:53

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

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

Hamzat
попробуйте сначала тот вариант, что приведен на форуме, один в один, потом если заработает, меняйте, у меня, к примеру, при тестировании, тоже - данный код заработал не сразу


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


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

Отсутствует

 

№82120-06-2016 23:29:31

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

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

Hamzat
Там по моему с кодировкой замороки бывают.

Отредактировано PRESIDENT (21-06-2016 00:55:43)


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№82221-06-2016 10:25:07

Eltar
Участник
 
Группа: Members
Зарегистрирован: 13-02-2016
Сообщений: 93
UA: Firefox 47.0

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

PRESIDENT пишет

HamzatТам по моему с кодировкой замороки бывают.
                    Отредактировано PRESIDENT (Вчера 23:55:43)

В решении Док'а действительно есть заморока. Вместо кирилицы абракадабра выскакивает в комментариях и при записи в txt-файл, к примеру. Интересно, можно как-то поменять кодировку в строке?..
В Вашем решении такой ошибки нет? Не успел еще протестить.

Отсутствует

 

№82321-06-2016 14:32:19

Док
Участник
 
Группа: Members
Зарегистрирован: 26-02-2014
Сообщений: 27
UA: Firefox 43.0

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

Eltar пишет

Вместо кирилицы абракадабра выскакивает в комментариях и при записи в txt-файл, к примеру.

кодировка текста в файлах должна быть utf-8. Тогда абракадабры не будет

Отсутствует

 

№82421-06-2016 14:34:40

Eltar
Участник
 
Группа: Members
Зарегистрирован: 13-02-2016
Сообщений: 93
UA: Firefox 47.0

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

Док пишет
Eltar пишет

Вместо кирилицы абракадабра выскакивает в комментариях и при записи в txt-файл, к примеру.

кодировка текста в файлах должна быть utf-8. Тогда абракадабры не будет

Спасибо, Док! Попробую!
...
Получилось! Урррааа!!! То, что нужно! Спасибо!!!

Отредактировано Eltar (21-06-2016 15:00:08)

Отсутствует

 

№82523-06-2016 06:46:54

dim222
Участник
 
Группа: Members
Зарегистрирован: 06-03-2016
Сообщений: 423
UA: Chrome 51.0

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

Кто знает подскажите !...... Пытаюсь сохранить картинку на аудиокапче "Выберите все фразы,связанные с этой категорией".
Этим кодом сохраняю .

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

Выделить код

Код:

iimPlayCode(ONDOWNLOAD FOLDER='+path+' FILE=cap.jpg WAIT=YES\nTAG POS=1 TYPE=DIV ATTR=class:rc-text-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT);


Вот такая ерунда получается
скрытый текст
fb18371eb7e6.jpg

Отредактировано dim222 (23-06-2016 08:01:04)

Отсутствует

 

№82623-06-2016 22:19:00

dvitkovs
Участник
 
Группа: Members
Зарегистрирован: 08-11-2015
Сообщений: 266
UA: Palemoon 25.0

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

Здравствуйте! Подскажите, как зациклить функцию обновления рекапчи 9 раз? Вот код функции:

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

Выделить код

Код:

function test1() {
 var reload = iimPlayCode(f2+'TAG POS=1 TYPE=DIV ATTR=TABINDEX:0&&CLASS:rc-text-desc-wrapper');
 if (reload==1){
   iimPlayCode(f2+'EVENT TYPE=CLICK SELECTOR="#recaptcha-reload-button" BUTTON=0'); weit(1);
 test1();
   return;} else {}
   }


правила форума iMacros пункт 1.6 при публикации на форуме не изменяем имена JS и iMacros функций, без изменения функционала данных функций.
отредактировано

Данная функция включается когда на рекапче появляется вместо аудио, текстовая капча. Тогда эта функция обновляет рекапчу и появляется аудио-капча. Но бывает так, что  может и не появиться, тогда данная функция будет вечно обновлять капчу, а нам надо ограничить это количество до 9 раз. А по истечении 9 раз должен быть реконнект соединения reconekt();

InfSub

Отредактировано dvitkovs (23-06-2016 22:23:22)

Отсутствует

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

Board footer

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