Обсуждение скриптов и вопросов связанных с борьбой с капчами.
========================================================================
Начну пожалуй.
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
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
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
Отсутствует
Здравствуйте!
А не подскажите ли, как переписать html-код-строчку в ява-скрипт форму из исходного кода страницы?
Дело в следующем: есть капча, в которой уже содержится ответ на странице в скрытом виде:
Отредактировано dvitkovs (14-06-2016 19:11:21)
Отсутствует
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
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
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(); }
Отсутствует
При взломе 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(
) {
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
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)
Отсутствует
Ребята, приветствую!
Может быть кто-нибудь знает каким макаром можно разделить скрипт на клиентскую и серверную часть? Забодался редактировать каждую копию скрипта из-за какой-то одной-единственной строчки. Должно быть, как мне кажется, два файла. 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();
Отсутствует
Eltar
В факе есть пример запуска одного скрипта из другого.
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Eltar
В факе есть пример запуска одного скрипта из другого.
Запустил один макрос из другого, но функции, написанные во втором .js не доступны, похоже, в основном.
Случай первый, рабочий:
Второстепенный js:
iimPlayCode("URL GOTO=imacros://run/?m=Cranes/CraneSSS/SCRIPTfunctions.js"); Alerttt();
Второстепенный js:
Отсутствует
Случай второй, как хотелось бы чтобы работал, но не работает:
скрытый текстОсновной js:Выделить кодКод:
iimPlayCode("URL GOTO=imacros://run/?m=Cranes/CraneSSS/SCRIPTfunctions.js"); Alerttt();Второстепенный js:
Как бы сделать чтобы функции, указанные во второстепенном файле были доступны в основном, а?
Попробуй так
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();
Отсутствует
Док, дружище, спасибо! Только нужно так, оказывается:
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();
Отсутствует
Док
Зачем создавать промежуточную переменную 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
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
Док
Зачем создавать промежуточную переменную GlobalFunction ?
Исключительно для моего удобства, чтобы через год, когда понадобится внести правки в код не запутаться в повторяющихся iimGetExtract(1). Знаю, что без этого можно обойтись.
Отсутствует
PRESIDENT
Альтернативный пример, работает на всех версиях мазил и имакроса
Почему то у меня не работает, ошибок нет, но код не загружает, можно как то отследить где именно ошибка?
iMacros скрипты на заказ!
Отсутствует
Hamzat
попробуйте сначала тот вариант, что приведен на форуме, один в один, потом если заработает, меняйте, у меня, к примеру, при тестировании, тоже - данный код заработал не сразу
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Hamzat
Там по моему с кодировкой замороки бывают.
Отредактировано PRESIDENT (21-06-2016 00:55:43)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
HamzatТам по моему с кодировкой замороки бывают.
Отредактировано PRESIDENT (Вчера 23:55:43)
В решении Док'а действительно есть заморока. Вместо кирилицы абракадабра выскакивает в комментариях и при записи в txt-файл, к примеру. Интересно, можно как-то поменять кодировку в строке?..
В Вашем решении такой ошибки нет? Не успел еще протестить.
Отсутствует
Вместо кирилицы абракадабра выскакивает в комментариях и при записи в txt-файл, к примеру.
кодировка текста в файлах должна быть utf-8. Тогда абракадабры не будет
Отсутствует
Eltar пишетВместо кирилицы абракадабра выскакивает в комментариях и при записи в txt-файл, к примеру.
кодировка текста в файлах должна быть utf-8. Тогда абракадабры не будет
Спасибо, Док! Попробую!
...
Получилось! Урррааа!!! То, что нужно! Спасибо!!!
Отредактировано Eltar (21-06-2016 15:00:08)
Отсутствует
Кто знает подскажите !...... Пытаюсь сохранить картинку на аудиокапче "Выберите все фразы,связанные с этой категорией".
Этим кодом сохраняю .
iimPlayCode(ONDOWNLOAD FOLDER='+path+' FILE=cap.jpg WAIT=YES\nTAG POS=1 TYPE=DIV ATTR=class:rc-text-payload CONTENT=EVENT:SAVE_ELEMENT_SCREENSHOT);
Отредактировано dim222 (23-06-2016 08:01:04)
Отсутствует
Здравствуйте! Подскажите, как зациклить функцию обновления рекапчи 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 {} }
InfSub
Отредактировано dvitkovs (23-06-2016 22:23:22)
Отсутствует