Обсуждение скриптов и вопросов связанных с борьбой с капчами.
========================================================================
Начну пожалуй.
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);
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');}}
Сначала качаем вот это и распаковываем в папку C:\CapNum\
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);}
Отредактировано PRESIDENT (19-04-2016 18:30:59)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Skrini4
Возможно, как ты говоришь не этично, но мне помогает...
.... SET !ERRORIGNORE YES FRAME F=17 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR FRAME F=18 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR FRAME F=19 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR FRAME F=20 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR ....
Отредактировано InfSub (12-02-2016 12:58:56)
Отсутствует
Skrini4
Возможно, как ты говоришь не этично, но мне помогает...скрытый текстВыделить кодКод:
.... SET !ERRORIGNORE YES FRAME F=17 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR FRAME F=18 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR FRAME F=19 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR FRAME F=20 TAG POS=1 TYPE=DIV ATTR=CLASS:recaptcha-checkbox-checkmark&&ROLE:presentation&&TXT: CLEAR ....
Нужный фрем ловиться
Эммм... а с командой clear точно не опечатался? Она же очищает временный файлы и как следствие logout, и проверки следующего фрейма не происходит... Не на теории пишу... Проверил
Отсутствует
udalov
удалено, 2.9
С сохранение тут все просто.
Правила форума iMacros, 1.3.2
var k=100; for (w=0; w<k; w++) { for (i=0; i<31; i++) { f = iimPlayCode('SET !TIMEOUT_STEP 0\nONDOWNLOAD FOLDER=D:\\iMacros\\Datasources\\SolveMedia FILE=capcha_{{!NOW:dd.mm.yyyy<SP>-<SP>hh.nn.ss}}.jpg WAIT=YES\nFRAME F='+i+'\nTAG POS=1 TYPE=CANVAS ATTR=WIDTH:300&&HEIGHT:150&&ID:slog CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); if (f>0) {break;} } if (f<0) {k=k+1;} iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=IMG ATTR=ALT:New<SP>Puzzle&&SRC://api.solvemedia.com/media/reload-whV2.gif\nWAIT SECONDS=3') }
InfSub
Отсутствует
PRESIDENT
Извлекай вот это значение и по нему сравнивай, 33 или 44
Спасибо за помощь все разобрался
а как добавить третье условие?
if(a[2]==2){resize1();} else{resize();} resize2();??? if(a[2]==2){resize1();} if(a[2]==4){resize2();} if(a[2]==3){resize();}
Отредактировано Koks (13-02-2016 17:17:10)
Отсутствует
Всем привет, по капче солве - поможет ли кому нибудь способ по которому будет всегда выходить видеокапчи?
Да, конечно поможет способ, по которому по солвемедии всегда будет выходить видеокапча. Многим, тут на форуме поможет. Выкладывай, что у тебя за способ?
Можно и личным сообщением.
Отсутствует
что у тебя за способ
Всегда новый ип и мобильный узерагент.
Добавлено 14-02-2016 04:06:48
можете тоже свесто него использовать значение
weit
Не путай с сет тайм оутом
Отредактировано PRESIDENT (14-02-2016 04:06:48)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Всегда новый ип и мобильный узерагент.
ИП прокси подойдет? (если брать из списка)... можно в личку юзерагент каким пользуетесь? Перебрал из этого списка штук 20 но закономерного появления нужной капчи не обнаружил... только случайность.
Отсутствует
Всегда новый ип и мобильный узерагент.
Для флеш-солвемедия капчи всегда новый IP??? Та она и на старом, на одном и том же несколько раз выпадает, до 10 раз может. И даже на юзерагенте не мобильного браузера, а обычного.
Ну а если всегда новый IP использовать (только "правильный", без проксей) с подменой узерагента, то таким способом и флеш-солвемедия-капча не нужна. Гораздо проще в таком случае извлекать нужный слог из кода страницы и вставлять в поле ответа.
Поэтому для флеш-солвемедии не нужен всегда новый IP. Он конечно же нужен, но через несколько раз.
А вообще-то я думал, что falker777 знает какой-то иной, секретный способ, чтоб флеш-солвемедия капча всегда появлялась.
Например, без замены IP.
Отредактировано dvitkovs (14-02-2016 13:40:07)
Отсутствует
он мне в личку написал IP Канады
любой IP Канады подойдёт или есть какой-то определённый, какой-то специальный?
Отредактировано dvitkovs (14-02-2016 14:14:09)
Отсутствует
уже третий день бьюсь над этой проблемой
если такая капча
извлекаю так
извлекаю так
все спасибо Вроде нашел решение
a=iimGetLastExtract().split(': '); if (a !== '#EANF#'){ a=iimGetLastExtract().split('Please Enter ');} s=a[1].replace(/ /g,"<sp>"); iimDisplay(s);
Отредактировано Koks (15-02-2016 17:37:27)
Отсутствует
уже третий день бьюсь над этой проблемой
если такая капчаизвлекаю так
скрытый текст
если такая капчаизвлекаю так
скрытый текст
можно сделать универсальное извлечение
постоянно приходят разные капчи
в некоторых есть спереди слово Answer
ПОМОГИТЕ
а если такая? как извлекаешь?
Отсутствует
dvitkovs
for(k=0; k<60; k++){ //<---Ищем фрейм NO if(iimPlayCode('SET !TIMEOUT_STEP 0\nFRAME F='+k+'\nTAG POS=1 TYPE=DIV ATTR=ID:playTxt')>0){ iimPlayCode('WAIT SECONDS=15\nONDOWNLOAD FOLDER='+Path+' FILE=captcha.jpg WAIT=YES\nFRAME F='+k+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); iimPlayCode('TAG POS=1 TYPE=A ATTR=ID:adcopy-page-return'); break;}}
Отсутствует
dvitkovs
Так сначала кнопку Плей нажми, потом уже капча появится, вот её и загружай на комп и распознавай.
В первом посте смотри, там есть готовое решение.
Koks
В первом посте выложил пхп скрипт который обрабатывает капчу уберает лишние буквы
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
PRESIDENT
Мне кажется вы там кавычку где-то не добавили
Я про скрипт SOLVEMEDIA
Отредактировано Koks (15-02-2016 19:13:04)
Отсутствует
Koks
Да точно не хватает закрывающейся скобки в конце функции function solvemedia()
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
PRESIDENT
Скрипт solve.php который должен лежать в директории C:\CapNum\solve
var Cc=Components.classes, Ci=Components.interfaces, Path='C:\\CapNum\\'; function cap(){ var args=[Path+'solve.php']; file.initWithPath(Path+'PHP\\PHP.exe'); proc.init(file); proc.run(false, args, args.length);}
Отредактировано Koks (15-02-2016 20:11:48)
Отсутствует
solve.php'];
file.initWithPath(Path+'PHP\\PHP.exe');
proc.init(file); proc.run(false, args, args.length);}
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Отсутствует
Egorushka1974
и ругается на неопределенную w
хотя, переменная w глобальная и должна корректно быть видна после функции solvemedia();, даже без return w; и соответственно, без w=solvemedia();
Отредактировано InfSub (16-02-2016 00:41:34)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Я показал просто возможный вариант скрипта. У меня естественно всё это совсем по другому.
Этот скрипт сильно упрощённая версия. Вы его переделывайте под себя кому как надо.
Смысл был выловить или капчу с тегами TYPE=SPAN ATTR=ID:slog
с которой можно и так данные сдернуть, без распознавания, или искать флешь капчу.
В скрипте показана команда нажатия кнопки плей , всегда считалось имакросом не реализуемо.
И главное, пхп скрипт, для обработки капчи, инвертации цветов и удаления лишнего.
var Cc=Components.classes, Ci=Components.interfaces,a,b,c,d,e,f=0,refka='1AWqZ3ke9z8eSvZWFPeHTY8a3jmQNWKhSa'; var proc=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); var file=Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); 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\\'; var bit='Биткоин кошель'; //for(;;){ del_cookis(); iimPlayCode('CLEAR\nTAB CLOSEALLOTHERS\n'+t3+'URL 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(){ for(q=0; q<5; 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) reload(); else if(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++){ 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();w=99;} else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*')>0){ if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*slog')>0){ iimPlayCode('ONDOWNLOAD FOLDER='+Path+'solve\\ FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*slog CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); w=99;} else if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=CANVAS ATTR=ID:*playIcn')>0){ weit(10); if(iimPlayCode(t0+'FRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay&&TXT:')>0){ weit(1); iimPlayCode('ONDOWNLOAD FOLDER='+Path+'solve\\ FILE=a.jpg WAIT=YES\nFRAME F='+w+'\nTAG POS=1 TYPE=DIV ATTR=ID:overlay&&TXT: CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT'); w=99;}} if(w==99){ iimPlayCode('TAB OPEN\nTAB T=2'); iimDisplay('OCR'); cap(); iimPlayCode('URL GOTO="'+kap+'"'); weit(3); iimPlayCode(t3+'URL GOTO=newocr.com'); if(iimPlayCode(t0+'TAG POS=1 TYPE=H3 ATTR=TXT:About')>0){ iimPlayCode(t3+'TAG POS=1 TYPE=INPUT:FILE FORM=ID:form ATTR=ID:userfile CONTENT='+Path+'solve\\b.jpg'); iimPlayCode(t3+'TAG POS=1 TYPE=BUTTON FORM=ID:form ATTR=ID:preview'); // weit(1); iimPlayCode(t0+'TAG POS=1 TYPE=A ATTR=CLASS:search-choice-close&&DATA-OPTION-ARRAY-INDEX:78'); iimPlayCode(t3+'TAG POS=1 TYPE=BUTTON FORM=ID:form-ocr ATTR=ID:ocr'); // weit(1); iimPlayCode(t0+'TAG POS=1 TYPE=textarea ATTR=id:ocr-result extract=txt'); txt=iimGetExtract(); txt=txt.replace(/http\:\/\/www\.newocr\.com\//gi,"");} iimPlayCode('TAB CLOSE');}}}}} 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;}} //else if(iimPlayCode(t0+'TAG POS=1 TYPE=DIV ATTR=CLASS:alert*alert*&&TXT:Wrong*captcha*')>0) reload(); //else if(iimPlayCode(t0+'TAG POS=1 TYPE=P ATTR=TXT:Invalid*captcha*')>0) reload(); /***-= Обновление капчи =-***/ function reload(){ del_cookis(); iimPlayCode(t3+'TAG POS=1 TYPE=IMG ATTR=SRC:*solvemedia.com/media/reload*.gif'); weit(1);} /***-= Обработка капчи =-***/ function cap(){ var args=[Path+'solve\\solve.php']; file.initWithPath(Path+'PHP\\PHP.exe'); proc.init(file); proc.run(false, args, args.length);} /***-= Удаляем куки =-***/ 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 weit(s){iimPlayCode('WAIT SECONDS='+s);}
Отредактировано PRESIDENT (16-02-2016 08:41:47)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
хотя, переменная w глобальная и должна корректно быть видна
По первому пункту признаю, наверное невнимательно посмотрел, уже ночь была.
А по второму пункту
хотя, переменная w глобальная и должна корректно быть видна после функции solvemedia();, даже без return w; и соответственно, без w=solvemedia();
как это соотносится с этим
Отсутствует
как это соотносится с этим
for(w=0; w<=60; w++){
Более понятный и подробный кусок смотри постом выше.
Опять же кто тупо копирует не вникая, обратите внимание, на комп сохраняется капча а.jpg, но на онлайн сервис OCR подаётся b.jpg
Как раз solve.php и должен обрабатывать капчу.
И он годится только для обработки флешь черно белой капчи.
И опять же там я дал только кусочек кода упрощённую версию
способы обработки капчи каждый может сделать/придумать под себя.
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует