Título: [BATCH] realizar búsquedas automáticas en web Publicado por: alehopio en 12 Diciembre 2013, 09:57 am Hola:
Me gustaría que algún programador me ayudase en mis escarceos con BATCH que es el único lenguaje del que tengo alguna noción. De paso quedará el tema por si alguien se siente interesado en aprovecharlo. Resulta que bing.com tiene un programa de recompensas por realizar búsquedas, el único problema es que está restringido para los usanos. Aunque esa limitación es fácil de saltar con un proxy. Pasos a seguir: 1) instalar una vpn en el pc SoftEther VPN Client + VPN Gate Client Plug-in [vpngate.net] 2) conectar el vpn a un servidor del país en cuestión, usa 3) entrar en bing.com pero si no se hace con ip de usa nada de lo siguiente sirve 4) arriba a la derecha pinchar en el icono de la rueda dentada de configuración 5) pinchar en "change your country/region" y elegir "United States - English" << ES EL PASO FUNDAMENTAL sabremos si está todo bien porque aparece "0 of 5" antes del icono de la rueda >> 6) ahora entrar en la parte superior derecha de la ventana pinchar en SING IN seguidamente en MICROSOFT ACCOUNT - CONNECT 7) usar una cuenta de live (hotmail, live, outlook) que tenga como país a USA 8) pinchar en "0 of 5" en la parte superior derecha de la ventana y elegir "Join Rewards now" 9) << OTRO PASO FUNDAMENTAL >> pinchar en " Microsoft account" junto al pequeño icono de la ventan de windows, bajo la frase "or sign up using a Microsoft account by clicking below" 10) si todo se ha hecho correctamente ya tenemos la cuenta de bing rewards creada, ahora por realizar búsquedas con bing se nos daran puntos que se pueden canjear en el apartado REDEEM http://www.bing.com/rewards/redeem/all lo menos costoso en dedicación son las tarjetas de amazon.com de 5$ con los que se pueden comprar codigos online http://www.amazon.com/s/field-keywords=online%20code Por cada cuenta live de amigo invitado regalan 200 puntos por la primera semana de búsquedas diarias, y por cada cuenta permiten 15 puntos diarios por búsquedas; así que en 1 semana y con dos amigos invitados se tienen los puntos para el código de 5$ Garantizado que funciona. Ahora bien, el problema que surge es automatizar tanto el logueo de cuentas como la realización de búsquedas automáticas. Lo del logueo automático de cuentas no tengo ni idea de como hacerlo. Para las búsquedas automáticas me pasaron el siguiente BATCH Código
Sin embargo esas búsquedas son fácilmente detectables como automáticas. Por tanto quisiera crear un batch que buscase frases de un texto tomadas por linea. Por ejemplo tomemos el texto de ftp://ftp.bls.gov/pub/doc/news.txt ¿Cómo hacer para que tome cada linea de esa web de texto y la use como la variable $DATA del batch? Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: Eleкtro en 12 Diciembre 2013, 11:08 am Siento admiración y pena al mismo tiempo, admiración por el esfuerzo que has invertido en hallar/resolver una vulnerabilidad, y pena porque todo el esfuerzo no compensa la mala elección del lenguaje ...algo tan
Prueba así: Código: @Echo OFF & TITLE Bing Searcher & Setlocal EnableDelayedExpansion Set /A "MAXQueries=33" Set /A "MAXResponseInterval=5000" Set /A "QueryCount=0" Set "TextFile=doc.txt" Set "FF=%ProgramFiles%\Mozilla Firefox\Firefox.exe" Set "Query=http://www.bing.com/search?q=" Set "Search=" :Loop FOR /F "Usebackq Delims=" %%@ IN ("%TextFile%") DO ( Set "Search=%%@" Set "Search=!Search: =+!" Start /B "Bing Query" "%FF%" "%Query%!Search!" Ping.exe LOCALHOST -n 1 -w %MAXResponseInterval% 1>NUL Set /A "QueryCount+=1" If %QueryCount% EQU MAXQueries (Goto :End) ) :End Start /B "End Song" "%WinDir%\media\ding.wav" Exit /B 0 Saludos Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: alehopio en 12 Diciembre 2013, 12:19 pm Hola,
Gracias por el esfuerzo y la respuesta. Se nota que tu BATCH es profesional porque está incluso estructurado. Pero adolece que el tiempo entre búsqueda no es aleatorio como podría ser una búsqueda manual no automática, así que habría que añadir una variable al principio Set /A "MINResponseInterval=10000" y dentro de la clausa FOR meter la definicion aleatoria del tiempo de busqueda Set /A "ResponseInterval=%random% %%MINResponseInterval% + %MAXResponseInterval%" así en cada iteración esperaría entre 5 y 15 segundos para la próxima búsqueda cambiando la variable del ping por la aleatoria ResponseInterval Ping.exe LOCALHOST -n 1 -w %ResponseInterval% 1>NUL No sé si habré metido la pata con la cantidad de % que hay que meter. Y a parte de eso, queda la cuestión de meter automáticamente en el doc.txt la fuente de internet donde coger cada día una texto diferente. No sé si funciona la definición doc.txt < http://ftp://ftp.bls.gov/pub/doc/news.txt ¿Cómo puedo descargar un archivo de internet y meterlo como una variable en el BATCH? P.D. Comentar que hay que comprobar que el VPN funciona correctamente comprobando que no es detectado, por ejemplo desde http://whatismyipaddress.com/proxy-check Y además recordar que las cuentas de live deben de tener datos verdaderos hasta de dirección y teléfono que pueden comprobarse desde http://www.whowhere.com/ Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: Eleкtro en 12 Diciembre 2013, 14:29 pm el tiempo entre búsqueda no es aleatorio Y a parte de eso, queda la cuestión de meter automáticamente en el doc.txt la fuente de internet donde coger cada día una texto diferente. Hombre, no te lo vamos a dar todo echo al 100%, aunque si que es verdad que podría haberte amoldado una Random en el ejemplo, pero bueno. Para descargar un archivo puedes usar el comando FTP o bien la aplicación externa WGet (opción recomendada si no te importan las dependencias) -> http://gnuwin32.sourceforge.net/packages/wget.htm ¿Cómo puedo descargar un archivo de internet y meterlo como una variable en el BATCH? Sencíllamente no puedes, tienes que usar un FOR para iterar las lineas del archivo. En realidad si que es posible pero no te lo recomiendo y no te serviría para nada puesto que no podrías iterarla o sería una pesadilla hacerlo, no existe el Array en Batch, además de que no es una buena práctica ese tipo de variables y setear dichas variables multilinea requiere el uso de trucos/técnicas avanzadas. Citar Comentar que hay que comprobar que el VPN funciona correctamente comprobando que no es detectado, por ejemplo desde http://whatismyipaddress.com/proxy-check Y además recordar que las cuentas de live deben de tener datos verdaderos hasta de dirección y teléfono que pueden comprobarse desde http://www.whowhere.com/ ¿Como esperas hacer todo eso usando Batch?, no puedes hacer requests, ni siquiera tiene ningún soporte o interactividad con nada relacionado de la network, solo un par de comandos internos y externos como Ping, ve buscando aplicaciónes commandline que cumplan tus necesidades porque...las vas a necesitar si insistes en hacerlo en Batch. PD: Por el código que has mostrado anteriórmente y la forma (correcta) de referirte a los términos del lenguaje da la impresión de que manejas Perl o Ruby; cualquiera de ellos es idoneo para la tarea, sigo sin entender porque resulta necesario hacerlo en Batch, va a ser una pesadilla. EDITO: puedes combinar el uso de VisualBasicScript para hacerle un request a esas dos urls: -> http://stackoverflow.com/questions/204759/http-get-in-vbs -> http://development.spalt3r.de/vbs-script-to-send-a-http-request/ Pero insisto en que si dispones de cualquier otro lenguaje, aunque solo tuvieras conocimientos básicos, va a ser mucho mejor y más sencillo que en Batch/vbs... de echo si piensas usar VBS + Batch (no te queda otra siendo Batch xD) entonces deberías escribir todas las instrucciones en VBS diréctamente y no engorronear con un Batch híbrido. Saludos! Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: alehopio en 13 Diciembre 2013, 14:06 pm Hola de nuevo:
De programar conozco lo básico en BATCH y no entiendo nada de otros lenguajes. No sé si podré llegar más lejos con ello para este tema que tengo en desarrollo. Por lo pronto quiero ir paso a paso, desarrollando hasta alcanzar pequeñas metas: 1º) hacer búsquedas << HECHO >> 2º) hacer búsquedas automáticas << HECHO >> 3º) hacer búsqueda automáticas que no parezcan mecánicas << EN PROCESO >> 4º) login automático en la cuenta de correo << EN ESTUDIO >> 5º) etc Ojalá pudierais ayudarme en ello. Gracias al esfuerzo de EleKtro H@cker tengo una nuevo BATCH hecho con tu sugerencia, pero me da errores y no sé donde está el fallo: Código: @Echo OFF & TITLE Bing Searcher & Setlocal EnableDelayedExpansion bitsadmin.exe /transfer myDownloadJob /download /priority normal http://www.pcre.org/news.txt %TMP%\news.txt Set TextFile=%TMP%\news.txt Del %TMP%\news.txt Set "FF=%ProgramFiles%\Mozilla Firefox\Firefox.exe " Set "Query=http://www.bing.com/search?q=" Set "Search=&FORM=" REM crear aqui la parte de login en email Set /A "MAXQueries=%random% %% 10 + 33" Set /A "MAXwait=10000" Set /A "MINwait=5000" Set /A "QueryCount=0" :Loop FOR /F "Usebackq Delims=" %%@ IN ("%TextFile%") DO ( Set "Search=%%@!Search!" Set "Search=!Search: =+!" Start /B "Bing Searcher : !QueryCount!" "!FF!" "!Query!!Search!" Set /A "Wait=!random! %% !MAXwait! + !MINwait!" Ping.exe 1.1.1.1 -n 1 -w %wait% >NUL Set /A "QueryCount+=1" Cls & Echo %QueryCount% If !QueryCount! EQU !MAXQueries! (Goto :End) ) :End Start /B "End Song" "%WinDir%\media\ding.wav" Exit /B 0 Parece que hace las búsqueda pero parpadea la ventana con mensaje de error. P.S. Corregidos los errores Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: Eleкtro en 13 Diciembre 2013, 15:33 pm ¿Cual es el mensaje de error?
Prueba a setear el parámetro -n, que lo usarías como segundos de espera (el valor es en segundos, no milisegundos): Código Saludos! Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: alehopio en 13 Diciembre 2013, 18:17 pm Había varios errores que ya he pulido. El que salía en pantalla era una división por cero debido a que
Código: set /a "wait=!random! %%MAXwait% + %MINwait%" no toma las ultimas cifras de la variable random porque el %numero que debería seguir a %random% no es generado por esa sentencia. No sé como hacer para que esa sentencia de un %9 después del %random% donde 9 fuese el número de %MAXwait% aunque siempre hay otra forma de hacerlo correctamente pero no tan elegante Código: Set /A "wait=%random% * (%MAXwait% - %MINwait% + 1) / 32768 + %MINwait%" Supongo que tu sabrás como hacer que eso de %%MAXwait% en realidad genere el %9 donde 9 sería el número que tuviera la variable %MAXwait% pero yo no domino esto. Respecto de hacer que ping haga -n iteraciones lo descarté en su día porque entonces hay periodos de tiempo constantes (medidos en segundos) entre búsquedas y para hacerlo más aleatorio es preferible que sean no constantes (milisegundos) por eso el uso exclusivo de -w Además de que el ping a LOCALHOST no tarda el tiempo deseado, supongo que el sistema tendrá algún tope para ello, a parte del error del 1 antes de >null Ahora investigaré como hacer un login automático en el email. ¿ Puedes indicarme alguna referencia al respecto? Gracias Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: Eleкtro en 15 Diciembre 2013, 20:07 pm Estás usando una herramienta equivocada, si quieres una sugerencia, teniendo sólamente Batch yo usaría el método "Sleep" de VBS para los milisegundos, usaría el lenguaje tanto para la espera como para randomizar.
Código Ahora investigaré como hacer un login automático en el email. ¿ Puedes indicarme alguna referencia al respecto? Con puro Batch no es posible. Desde la consola puedes intentar utilizar cUrl o Wget para loguearte y descargarte el código fuente de "X" página, y luego, parsear la salida obtenida para 'capturar' los datos que requieras, con un FOR /F. -> http://curl.haxx.se/download.html (la versión genérica para Win32) La verdad, yo nunca he intentado hacer esto con herramientas por consola en Batch, aquí tienes algo de info: http://stackoverflow.com/questions/12399087/curl-to-access-a-page-that-requires-a-login-from-a-different-page http://www.dyncommunity.com/questions/32854/how-to-use-wget-or-curl-to-login.html saludos Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: alehopio en 3 Enero 2014, 13:32 pm Hola de nuevo, y feliz año
Resulta que no logro hacer que el BATCH creado realice las búsquedas, no sé que es lo que estará mal en el código, y eso que lo he repasado muchas veces. Código
Lo he repasado muchas veces y no encuentro el error que hace que el LOOP no se ejecute... P.D. Creo que el problema está en el borrado y definición de la variable que almacena la linea de texto en Código: Set "Search=%%@" Set "Search=!Search: =+!" eso no lo entiendo... Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: Eleкtro en 3 Enero 2014, 14:38 pm Sin examinar el código, lo primero que salta a la vista:
Citar Esto es Batch, el inicio de operador de agrupación debes ponerlo en la linea de arriba, a la derecha del keyword DO. Código: For ... DO ( ... ) Saludos! Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: alehopio en 10 Enero 2014, 13:55 pm Este ya sí funciona, fallaba la llamada a las variables dentro del FOR. Gracias...
Código: @Echo OFF & TITLE Bing Searcher & Setlocal EnableDelayedExpansion :: Con la configuración de FIREFOX siguiente: :: 1) -setDefaultBrowser :: 2) about:config browser.link.open_newwindow.override.external=1 :: 3) addons.mozilla.org Click&Clean Set "Search=http://www.pcre.org/news.txt" bitsadmin.exe /transfer myDownloadJob /download /priority normal %Search% %TMP%\news.txt Set "TextFile=%TMP%\news.txt" DEL %TMP%\news.txt Set "Explore=%ProgramFiles%\Mozilla Firefox\Firefox.exe " If Defined ProgramFiles(x86) (Set "Explore=%ProgramFiles(x86)%\Mozilla Firefox\Firefox.exe ") Set "Query=http://www.bing.com/search?q=" REM cear aqui la parte de login en email Set /A "MAXQueries=%random% %% 10 + 33" Set /A "PLUSwait=10000" Set /A "MINwait=5000" Set /A "QueryCount=0" :Loop FOR /F "Usebackq Tokens=* Delims=" %%@ IN ("%TextFile%") DO ( Set "Search=%%@" Set "Search=!Search: =+!" Start /B "Iteration" "!Explore!" "!Query!!Search!" Set /A "Wait=!random! %% !PLUSwait! + !MINwait!" ping.exe 1.1.1.1 -n 1 -w !Wait! >NUL Set /A "QueryCount+=1" TITLE Bing Searcher : !QueryCount! If !QueryCount! EQU !MAXQueries! (Goto :End) ) :End Start /b "Iteration" "%Explore%" "http://www.bing.com" echo WScript.echo Chr(7) > beep.vbs cscript beep.vbs del beep.vbs P.D. ¿ cómo podría meter todo el BEEP en una sola linea de código sin crear el archivo .vbs ? No me funciona la siguiente Código: ECHO WSCRIPT.ECHO CHR(7) ^| CSCRIPT P.P.D. La búsqueda por frases no me convence como algo aleatorio e indistinguible de una búsqueda manual. Tal vez una búsqueda de varias palabras, siendo cada búsqueda diferente incluso en número de palabras con un máximo de palabras MAXWORDS, utilizando cada vez uno de los temas de búsqueda que nos da el buscador con un máximo de links MAXBING; sobre una lista en fila de palabras en ingles WORDLIST , tomando al azar cada palabra de esa lista... ... estoy terminando ese nuevo BATCH que con mis conocimientos no es muy elegante. Título: Re: [BATCH] realizar búsquedas automáticas en web Publicado por: alehopio en 15 Enero 2014, 12:39 pm Bueno, ya tengo funcionando mi nuevo código BATCH que ahora si creo que hace búsquedas automáticas casi indistinguibles de búsquedas manuales reales...
Código: @Echo OFF & TITLE Bing Searcher & Setlocal EnableDelayedExpansion :: Con la configuración de FIREFOX siguiente: :: 1) -setDefaultBrowser :: 2) about:config browser.link.open_newwindow.override.external=1 :: 3) addons.mozilla.org Click&Clean SET "search=http://www.mieliestronk.com/corncob_lowercase.txt" POWERSHELL -command "Invoke-WebRequest %search% -OutFile %TMP%\wordlist.txt" SET "textfile=%TMP%\wordlist.txt" :: archivo de palabras de busqueda SET "explore=%ProgramFiles%\Mozilla Firefox\Firefox.exe " IF DEFINED ProgramFiles(x86) SET "explore=%ProgramFiles(x86)%\Mozilla Firefox\Firefox.exe " SET "bing1=http://www.bing.com/search?q=" SET "bing2=http://www.bing.com/images/search?q=" SET "bing3=http://www.bing.com/videos/search?q=" SET "bing4=http://www.bing.com/news/search?q=" SET "bing5=http://www.bing.com/maps/default.aspx?q=" SET "bing6=http://www.bing.com/translator/?from=en&to=es&text=" SET "bing7=http://www.bing.com/travel/hotels/search?q=" SET "bing8=http://www.bing.com/events/search?q=" SET "bing9=http://www.bing.com/social/search?q=" SET "bing10=http://www.bing.com/explore?q=" SET /A "maxbing=9" :: numero de webs de busqueda bing1, bing2, etc SET /A "maxwords=5" :: numero maximo de palabras en cada busqueda SET /A "count=0" :: numero de busquedas realizadas SET /A "maxcount=%random% %% 10 + 31" :: numero maximo de busquedas SET /A "maxwait=10" :: segundos maximos de espera entre cada busqueda SET /A "minwait=5" :: segundos minimos de espera entre cada busqueda SET /A "wait=0" :: iniciar segundos de espera entre cada búsqueda SET /A "words=-1" :: iniciar numero de lineas en el archivo de palabras de busqueda FOR /F "usebackq tokens=* delims=" %%@ IN ("%textfile%") DO (SET /A "words+=1") REM cear aqui la parte de login en email :LOOP SET "search=&FORM=" :: termino de busqueda SET /A "chain=%random% %% %maxbing% + 1" :: seleccion azar web de busqueda FOR %%$ IN (%chain%) DO (SET "bing=!bing%%$!") SET /A "chain=%random% %% %maxwords% + 1" :: seleccion azar numero de palabras de busqueda FOR /L %%$ IN (1,1,%chain%) DO ( SET /A "hazard=!random! %% !words! + 1" :: seleccion azar linea de busqueda SET /A "choose=0" FOR /F "usebackq tokens=* delims=" %%@ IN ("%textfile%") DO ( SET /A "choose+=1" IF !choose! EQU !hazard! (IF %%$ EQU 1 (SET "search=%%@!search!") ELSE (SET "search=%%@+!search!")) ) ) START /B "Iteration" "%explore%" "%bing%%search%" SET /A "wait=%random% * (%maxwait% - %minwait% + 1) / 32768 + %minwait% + 1" ping.exe localhost -n %wait% >NUL SET /A "count+=1" TITLE Bing Searcher : %count% If %count% EQU %maxcount% (goto :END) goto :LOOP :END start /b "Iteration" "%explore%" "http://www.bing.com" POWERSHELL -command [Console]::Beep(1000,1000) DEL %TMP%\wordlist.txt Así que el avance de este proyecto se resumen en : 1º) hacer búsquedas web << HECHO >> 2º) hacer búsquedas web automáticas << HECHO >> 3º) hacer búsquedas web automáticas que no parezcan mecánicas << HECHO >> 4º) login automático en la cuenta de correo << EN PROCESO >> 5º) click automático en los vínculos de cuenta << EN ESTUDIO >> 6º) etc Ojalá pudierais ayudarme en ello !!! Gracias.- |