[solucionado]Crear enlace completo que incluya funcion javascript

Estoy haciendo un script en python, basicamente abre x enlaces cada cierto tiempo, el problema es que los enlaces que quiero que abra están en javascript (no tengo ni idea de java).

Los enlaces son de este tipo:

javascript:qt('810654171','subir')

Puedo crear una url completa con dicho comando? algo como
http://www.ejemplo.com/pepito.html+javascript:qt('810654171','subir')


Sacar la función que hace ese javascript me es imposible, ademas de que desconozco por completo java el código esta bastante ofuscado, tardaría bastante en ver que hace al pasar esos 2 parámetros. Hay otras páginas que en los enlaces tienen una función javascript y quería saber si es posible generar un enlace completo.

/summon @Zokormazo

Saludos [beer]

Edito: He conseguido algo con la url indicando javacript, javascript:qt('810654171','subir') , voy a probar a ver si consigo un enlace completo

Edición final: Con la ayuda de @cmd ya tengo la url final que se genera, para otras personas que tengan el mismo problema el script esta ofuscado en hexadecimal, luego se obtiene el script enrevesado que se puede ordenar en la página http://jsbeautifier.org/ , tiene modulo para python para hacerlo offline https://github.com/beautify-web/js-beautify
[beer]
Va a ser mas sencillo si averiguas que url llamar ese subir, o que hace xD
Zokormazo escribió:Va a ser mas sencillo si averiguas que url llamar ese subir, o que hace xD

Esta muy ofuscado una exageración, me pegaría un tiro antes. He probado a abrir primero la url de la página con el modulo webbrowser, luego con lo mismo abrir el enlace javascript (para que simulara que lo pongo en el navegador) pero en este ultimo no lo abre, supongo que por no ser un enlace http. A ver que se me ocurre, antes simulo un clic con el ratón en el enlace que descifrar el javascript
El problema que tienes es que javascript tiene que ser interpretado y ejecutado en client-side.

Vamos, en tu caso el script python deberia de bajarse el .js y ejecutar esa funcion usando webkit o algo. Se te compleja demasiado el tema. Seria mas facil descifrar que hace el subir ese de javascript y hacer lo mismo en python xD
Zokormazo escribió:El problema que tienes es que javascript tiene que ser interpretado y ejecutado en client-side.

Vamos, en tu caso el script python deberia de bajarse el .js y ejecutar esa funcion usando webkit o algo. Se te compleja demasiado el tema. Seria mas facil descifrar que hace el subir ese de javascript y hacer lo mismo en python xD


El script es algo asi:

<script>eval(unescape('\u0065\u0076\u0061'))</script> Con '\u0065\u0076\u0061 repetido muchas veces (distintos dígitos), he buscado un descodificador eval unescape http://ddecode.com/hexdecoder/ pero no queda legible, algun entendido en javascript sabe como invertir el cifrado?


Edito: He probado con algún plugin de firefox para saber que url pasa el javascript pero nada, al descodificar el javascript sale la función pero esta rebuscada de cojones

Edito2:

La función la doy por imposible, juega bastante con las divisiones, sumas y los dígitos separados para luego juntarlos y formar una url o dirección ip, sin saber javascript se me hace complicado.

Parte de la función enrevesada:

unescape('eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('i 1k(){T b=13;w{b=u Q("12.U")}x(e){w{b=u Q("16.U")}x(E){2(!b&&1d V!=\'1a\')b=u V()}}1R b}T j;i g(){D.26.27=\'<25 24="21" 22="1Q://1C.1E.1y.1N/1J/g.1X">\'+\'<P 1I="z-1H:1K;1L:#1O; z-1M: 1G; 1F: 1z A 0 A">1x 1A f a I 1B 1D...</P>\';2(j!=L){w{t.23(j)}x(e){}j=L}20(i(){t.G()},1Z)}i 1T(1){2(1==\'g\'){g()}4 2(1==\'1S\'){D.M.N()}4 2(1==\'1U\'||1==\'1V\'||1==\'1Y\'){7(\'1w 1Wún 28.\'.1);1s.M.N()}4 2(1==\'1b\'){7(\'Sóh 6 17 l O C 10 día.\');t.G()}4 2(1==\'14\'){7(\'1e 1f 1q, 1p 8 1r 1u 1t 1n 5 1i l.\')}4 2(1==\'1h\'){7(\'1g 1j 1m 1l 1v 1o 3 15ía 5 Z y 11 \'+\'8 3 más 1c F 18 3 Hón 5 k. 19 1P 5 2o Kán 39 5 38 37 \'+\'k 36 y 3a 3 pá3b. 3e 3d I 29 5 35 5 34 2X. 2W Hón 2V a 2U.\'+\'\\r\\n\\r\\n\'+\'2Y f 6 2Z 33 q 6 J h v 8 9 R f B v 3g. \'+\'Y 32 q c 30 o 3 3f F 3m 3p q 9 c 3s 6 J h v. Sóh Ká 3u 3o \'+\'3 3n 9 3 3h 9 3 8 6 3k y, 9 3l 3r, 3j "3tío a 3i 3qña".\'+\'\\r\\n\\r\\n\'+\'2S l 2p k O C 2T 2n 2m 2q, h 8 2r 3 2u B f \'+\'2tó2s. 2l 2k 2d c 2c 2b-2a 2e 2fún 2j, 2i 2h 2g \'+\'9 c 2v 2w: 2M@2L.2K.\')}4 2(1==\'2J\'){7(\'Y 6 W g 2N 2O 2R 2Q a R f 2P 2I.\')}4 2(1==\'2H\'){7(\'2A 2z, 2yí2x 8 6 W 2B c X nú2C 31.\')}4{7(\'2G 2F 2E X, 2D 5 3c\')}}',62,217,'|rt|if|la|else|de|se|alert|que|en||xmlhttp|el|||lo|function|__lide||||si|||parent|new|mismo|try|catch||font|5px|del|vez|document||es|cerrarw|repetici|las|ofrece|est|null|location|reload|una|div|ActiveXObject|otro||var|XMLHTTP|XMLHttpRequest|ha|error|No||al|vemos|Msxml2|false|antiabuso|categor|Microsoft|puede|eliminar|Los|undefined|pronto|demandada|typeof|Para|evitar|Hemos|duplicado|poder|recibido|newAjax|mensajes|muchos|antes|mejorar|tienes|abusos|esperar|window|dias|unos|para|Hubo|Subiendo|162|10px|tu|primeras|89||202|padding|bold|size|style|imagenes|20px|color|weight|60|242|compradores|http|return|auto |ajaxResp|error41|error42|alg|gif|error43|300|setTimeout|left|src|rvdo|align|img|body|innerHTML|fallo|posibilidades|auto|servicio|probar|sin|ning|contactar|puedes|nos|compromiso|quieres|Si|totalmente|24h|sus|gratis|aumenta|dicamente|peri|visibilidad|siguiente|correo|quenos|comun|favor|Por|producido|mero|intentelo|un|produjo|Se|error31|publicado|error32|com|info|por|ser|ya|similar|muy|Puede|cada|todos|perjudica|Le|anunciantes|Un|considera|texto||importa|repetido|los|venta|repetidos|tantos|ver|cansados|abandonan|gina|nuevo|limita|Esto|foto|provincia|toda|marcar|encuentre|su|ligeramente|mascota|anunciar|distinta|Espa|caso|fondo|Env|permitido'.split('|'),0,{}))


eval(unescape('eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1s(X(p,a,c,k,e,d){e=X(c){W(c<a?\'\':e(1n(c/a)))+((c=c%a)>1m?10.1h(c+1g):c.1i(1j))};Y(!\'\'.12(/^/,10)){11(c--){d[e(c)]=k[c]||e(c)}k=[X(e){W d[e]}];e=X(){W\'\\\\w+\'};c=1};11(c--){Y(k[c]){p=p.12(1l 1k(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c])}}W p}(\'h s(2,0){6(0!=\\\'r\\\'&&0!=\\\'d\\\')q;v{6(g)g.w([\\\'z\\\',0,2])}y(p){}A=2;e 3;6(0==\\\'d\\\'){3=\\\'&f=\\\'+8.7(\\\'f\\\').c+\\\'&9=\\\'+8.7(\\\'9\\\').c;8.7(\\\'o\\\').n=\\\'<5><5><5><b>i...</b><5><m l="j://k.x.N.R\\\'+\\\'/Q/B.S">\\\'}T{3=\\\'&a=U&t=V&u=O\\\'}e 1=G();1.F("E",\\\'/C/?0=\\\'+0+3+\\\'&D=\\\'+2,H);1.I=h(){6(1.M==4)L(1.K)};1.J(P)}\',Z,Z,\'1r|1q|1f|1p||1t|Y|13|17|16|||15|1u|14|1e|1d|X|18|1c|1b|19|1a|1o|1I|1S|W|1Q|1P|||1U|1M|1N|1O|1T|1Z|20|1X|1Y|1V|1W|1R|1K|1A|1B|1z|1y|1v|1w|1x|1C|1D|1L|1J|1H|1G|1E\'.1F(\'|\'),0,{}))',62,125,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|if|58|String|while|replace|getElementById|var|value|nocturno|document|Actualizando|src|img|89|http|_gaq|cada|ide|29|fromCharCode|toString|36|RegExp|new|35|parseInt|innerHTML|aa|ajax|comando|eval|br|auto |readyState|162|797134c3e42371bb4979a462eb2f042a|ajaxResp|responseText|onreadystatechange|send|null|imagenes|03afdbd66e7929b125f8597834fa83a43ccd10ec8d5983fd4a295cfc10a25d5aaab3238922bcc25a6f606eb525ffdc56|split|f2691acb7745bc99f9015f0953200cf1|else|mensaj|gif|true|60|push|202|catch|qt| |newAjax|err|_trackEvent|try|GET|open| |id|__lide|waiting'.split('|'),0,{}))
')

El código que has puesto me da error al ejecutarlo. Para desofuscarlo utiliza esta pagina http://jsbeautifier.org/ poniendo el código que has puesto aquí no se descifra bien. Supongo que es porque esta incorrecto por el copypaste o algo.
cmd escribió:El código que has puesto me da error al ejecutarlo. Para desofuscarlo utiliza esta pagina http://jsbeautifier.org/ poniendo el código que has puesto aquí no se descifra bien. Supongo que es porque esta incorrecto por el copypaste o algo.


Te mando un mp con el código completo a ver si ves algo que se escape [beer]

Edito: Añado al hilo principal la solución por si alguno viene con el mismo problema [beer]
Solo como pequeña nota para @lwordl. Java es para Javascript como mar a marco (mejor en inglés, Java is to javascript as ham (jamón) is to a hamster). Vamos que empiezan igual pero son dos cosas totalmente diferentes, no tiene nada que ver la una con la otra.

Javascript se llamaba originalmente "Mocha", luego "LiveScript" y aprovechando de que Java era super mega famoso, Sun (antigua creadora de Java) le dio permiso para usar su marca. Así que cambió el nombre a JavaScript, por marketing. Pero vaya, es lo único parecido que tiene ;)
Fox escribió:Solo como pequeña nota para @lwordl. Java es para Javascript como mar a marco (mejor en inglés, Java is to javascript as ham (jamón) is to a hamster). Vamos que empiezan igual pero son dos cosas totalmente diferentes, no tiene nada que ver la una con la otra.

Javascript se llamaba originalmente "Mocha", luego "LiveScript" y aprovechando de que Java era super mega famoso, Sun (antigua creadora de Java) le dio permiso para usar su marca. Así que cambió el nombre a JavaScript, por marketing. Pero vaya, es lo único parecido que tiene ;)


Esta bien saberlo, gracias ;)
8 respuestas