Página 3 de 19

Re: Fallan conectores, Powvideo y Flashx

Publicado: 04 Nov 2016, 22:40
por Cmos
hav escribió:Gracias Cmos, he descargado los .py y ocupan 60kb, de lo que deduzco que algo he hecho mal. ¿Podrías orientarme un poco?
Pues por orden habría que pulsar sobre la pestaña Files changed que está debajo del título, luego darle al botón view en cada archivo que quieras descargar y en la página que te aparecerá, botón derecho-guardar enlace como, encima del botón Raw ;)

Re: Fallan conectores, Powvideo y Flashx

Publicado: 04 Nov 2016, 23:04
por robalo
Sí Cmos, en el DOM la longitud para "h" es la correcta, 58 para powvideo y 60 para streamplay y tampoco he visto nada en los datos, a saber, además el caracter es aleatorio, mismo "h" diferente caracter en el mismo vídeo.

Código: Seleccionar todo

        video_urls.append( [ filename + " [powvideo]", re.sub(r'\w(\w{58})',r'\1',video_url)])

Código: Seleccionar todo

    video_urls.append( [ scrapertools.get_filename_from_url(mediaurl)[-4:]+" [streamplay]", re.sub(r'\w(\w{60})',r'\1',mediaurl)])
Y en ambos el 'test_video_exists' es el mismo pero 'page_url' es sin "iframe-, embed- o preview-" y sin "-anchoxalto.html o .html"

Código: Seleccionar todo

    if "<title>watch </title>" in data.lower(): return False, "[powvideo|streamplay] El archivo no existe o  ha sido borrado"

Re: Fallan conectores, Powvideo y Flashx

Publicado: 04 Nov 2016, 23:26
por hav
Cmos escribió:
hav escribió:Gracias Cmos, he descargado los .py y ocupan 60kb, de lo que deduzco que algo he hecho mal. ¿Podrías orientarme un poco?
Pues por orden habría que pulsar sobre la pestaña Files changed que está debajo del título, luego darle al botón view en cada archivo que quieras descargar y en la página que te aparecerá, botón derecho-guardar enlace como, encima del botón Raw ;)
Gracias Cmos, ahora perfecto. El problema es que lo hacía desde el móvil y no había visto la opción "versión Desktop"

Re: Fallan conectores, Powvideo y Flashx

Publicado: 05 Nov 2016, 10:06
por robalo
@Cmos el caracter lo elimina en el jjdecode del inicio, es igual para powvideo y streamplay con la excepción de powvideo que antes de eliminar el caracter reemplaza "src" por "file". Simplificando un poco, las dos funciones del jjdecode (2 para powvideo, 1 para streamplay)

Código: Seleccionar todo

sources = jQuery.map(
	sources,
	function(v){
		v[\'file\'] = v[\'src\'];
		delete v.src;
		return v
	}
);
sources = $["map"](
	sources,
	function(v){
		v["file"] = v["file"]["replace"](/[0-9a-z]([0-9a-z]{40,})/,"$1");
		return v
	}
);
por lo que se podría "controlar/ comprobar" si se está usando, pienso que sería fácil de implemetar si partimos de un code común para ambos

Código: Seleccionar todo

    data = scrapertools.find_single_match(data,"sources\s*=[^\[]*\[([^\]]+)\]")

    matches = scrapertools.find_multiple_matches(data.replace('"',"'"), "[src|file]:'([^']+)'")
    video_urls = []
    for video_url in matches:
        filename = scrapertools.get_filename_from_url(video_url)[-4:]
        if video_url.startswith("rtmp"):
            rtmp, playpath = video_url.split("vod/",1)
            video_url = "%s playpath=%s swfUrl=" + host + "player6/jwplayer.flash.swf pageUrl=%s" % (rtmp + "vod/", playpath, page_url)
            filename = "RTMP"
        elif "m3u8" in video_url:
            video_url += "|User-Agent="+headers[0][1]

        video_urls.append( [ filename + " [powvideo]", re.sub(r'\w(\w{40,})',r'\1',video_url)])
Comprobaríamos si existe código jjdecode y si contiene la eliminación del caracter extra. Al menos una parte de dos posibles casos las tendríamos cubiertas, algo parecido al 'toStringCases' de 'aadecode' :)

Re: Fallan conectores, Powvideo y Flashx

Publicado: 05 Nov 2016, 10:41
por tormund
Estoy buscando el código al que haces referencia en el HTML resultante de Powvideo pero no lo encuentro, ¿está en algún js? Me gustaría saber cómo lo solventa el navegador para estar preparado para un futuro cambio.

Saludos.

Re: Fallan conectores, Powvideo y Flashx

Publicado: 05 Nov 2016, 11:00
por robalo
@tormund
En powvideo

Código: Seleccionar todo

l=~[];l={___:++l,$$$$:(![]+"")[l],__$:++l,$_$_:(![]+"")[l],_$_:++l,$_$$:({}+"")[l],$$_$:(l[l]+"")[l],_$$:++l,$$$_:(!""+"")[l],$__:++l,$_$:++l,$$__:({}+"")[l],$$_:++l,$$$:++l,$___:++l,$__$:++l};l.$_=(l.$_=l+"")[l.$_$]+(l._$=l.$_[l.__$])+(l.$$=(l.$+"")[l.__$])+((!l)+"")[l._$$]+(l.__=l.$_[l.$$_])+(l.$=(!""+"")[l.__$])+(l._=(!""+"")[l._$_])+l.$_[l.$_$]+l.__+l._$+l.$;l.$$=l.$+(!""+"")[l._$$]+l.__+l._+l.$+l.$$;l.$=(l.___)[l.$_][l.$_];l.$(l.$(l.$$+"\""+"\\"+l.__$+l.$$_+l.$$_+l.$_$_+"\\"+l.__$+l.$$_+l._$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"=[\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+"\\"+l.__$+l.___+l.__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l._$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l._$_+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l._$$+l.__$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l._$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$_$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$___+"\\\"];\\"+l.__$+l.___+l.__$+"\\"+l.__$+l.$$_+l._$_+"\\"+l.__$+l.$$_+l._$_+l.$_$_+"\\"+l.__$+l.$$$+l.__$+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.__$+"]][_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.___+"]]=\\"+l.$__+l.___+l.$$$$+l._+"\\"+l.__$+l.$_$+l.$$_+l.$$__+l.__+"\\"+l.__$+l.$_$+l.__$+l._$+"\\"+l.__$+l.$_$+l.$$_+"(){\\"+l.__$+l.$$_+l.$$_+l.$_$_+"\\"+l.__$+l.$$_+l._$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+"="+l.__+"\\"+l.__$+l.$_$+l.___+"\\"+l.__$+l.$_$+l.__$+"\\"+l.__$+l.$$_+l._$$+";_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+"=\\"+l.$__+l.___+"$[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.$_$+"]](_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+","+l.$$$$+l._+"\\"+l.__$+l.$_$+l.$$_+l.$$__+l.__+"\\"+l.__$+l.$_$+l.__$+l._$+"\\"+l.__$+l.$_$+l.$$_+"(_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"){_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l._$_+"]]=\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l._$_+"]][_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.$__+"]](/["+l.___+"-"+l.$__$+l.$_$_+"-\\"+l.__$+l.$$$+l._$_+"](["+l.___+"-"+l.$__$+l.$_$_+"-\\"+l.__$+l.$$$+l._$_+"]{"+l.$__+l.___+",})/,_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l._$$+"]);\\"+l.__$+l.$$_+l._$_+l.$$$_+l.__+l._+"\\"+l.__$+l.$$_+l._$_+"\\"+l.__$+l.$_$+l.$$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"});\\"+l.__$+l.$$_+l._$_+l.$$$_+l.__+l._+"\\"+l.__$+l.$$_+l._$_+"\\"+l.__$+l.$_$+l.$$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.$$_+"]]}"+"\"")())();
y en streamplay

Código: Seleccionar todo

k=~[];k={___:++k,$$$$:(![]+"")[k],__$:++k,$_$_:(![]+"")[k],_$_:++k,$_$$:({}+"")[k],$$_$:(k[k]+"")[k],_$$:++k,$$$_:(!""+"")[k],$__:++k,$_$:++k,$$__:({}+"")[k],$$_:++k,$$$:++k,$___:++k,$__$:++k};k.$_=(k.$_=k+"")[k.$_$]+(k._$=k.$_[k.__$])+(k.$$=(k.$+"")[k.__$])+((!k)+"")[k._$$]+(k.__=k.$_[k.$$_])+(k.$=(!""+"")[k.__$])+(k._=(!""+"")[k._$_])+k.$_[k.$_$]+k.__+k._$+k.$;k.$$=k.$+(!""+"")[k._$$]+k.__+k._+k.$+k.$$;k.$=(k.___)[k.$_][k.$_];k.$(k.$(k.$$+"\""+"\\"+k.__$+k.$$_+k.$$_+k.$_$_+"\\"+k.__$+k.$$_+k._$_+"\\"+k.$__+k.___+"_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"=[\\\"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$$_+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$__$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+"\\"+k.__$+k.___+k._$$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$_$+"\\\",\\\"\\\\\\"+k.__$+k.$$$+k.___+k._$_+k.$__+"\\\\\\"+k.__$+k.$$$+k.___+k._$$+k.__$+"\\\",\\\"\\\\\\"+k.__$+k.$$$+k.___+k.$$$+k._$_+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$_$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$$+k.___+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+"\\"+k.__$+k.___+k._$$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.__$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k._$$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$_$+"\\\",\\\"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+"\\"+k.__$+k.___+k.$__+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.__$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$$+k.___+"\\\"];\\"+k.__$+k.$$_+k._$$+k.$$__+"=\\"+k.$__+k.___+k.$$$$+k._+"\\"+k.__$+k.$_$+k.$$_+k.$$__+k.__+"\\"+k.__$+k.$_$+k.__$+k._$+"\\"+k.__$+k.$_$+k.$$_+"(_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k.__$+"){\\"+k.__$+k.$$_+k._$_+k.$$$_+k.__+k._+"\\"+k.__$+k.$$_+k._$_+"\\"+k.__$+k.$_$+k.$$_+"\\"+k.$__+k.___+"$[_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k._$$+"]](_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k.__$+","+k.$$$$+k._+"\\"+k.__$+k.$_$+k.$$_+k.$$__+k.__+"\\"+k.__$+k.$_$+k.__$+k._$+"\\"+k.__$+k.$_$+k.$$_+"(_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"){_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"[_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k.___+"]]=\\"+k.$__+k.___+"_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"[_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k.___+"]][_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k._$_+"]](/["+k.___+"-"+k.$__$+k.$_$_+"-\\"+k.__$+k.$$$+k._$_+"](["+k.___+"-"+k.$__$+k.$_$_+"-\\"+k.__$+k.$$$+k._$_+"]{"+k.$__+k.___+",})/,_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k.__$+"]);\\"+k.__$+k.$$_+k._$_+k.$$$_+k.__+k._+"\\"+k.__$+k.$$_+k._$_+"\\"+k.__$+k.$_$+k.$$_+"\\"+k.$__+k.___+"_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"})}"+"\"")())();
Tanto el powvideo como el de streamplay podemos ver el texto sin ofuscar con la librería jjdecode de Syed Zainudeen o con la siguiente función

Código: Seleccionar todo

def jjdecode(t):

    x = '0123456789abcdef'
    j = get_match(t, '^([^=]+)=')
    t = t.replace(j + '.', 'j.')

    t = re.sub(r'^.*?"\\""\+(.*?)\+"\\"".*?$', r'\1', t.replace('\\\\', '\\')) + '+""'
    t = re.sub('(\(!\[\]\+""\)\[j\._\$_\])', '"l"', t)
    t = re.sub(r'j\._\$\+', '"o"+', t)
    t = re.sub(r'j\.__\+', '"t"+', t)
    t = re.sub(r'j\._\+', '"u"+', t)

    p = find_multiple_matches(t, '(j\.[^\+]+\+)')
    for c in p:
        t = t.replace(c, c.replace('_', '0').replace('$', '1'))

    p = find_multiple_matches(t, 'j\.(\d{4})')
    for c in p:
        t = re.sub(r'j\.%s' % c, '"' + x[int(c, 2)] + '"', t)

    p = find_multiple_matches(t, '\\"\+j\.(001)\+j\.(\d{3})\+j\.(\d{3})\+')
    for c in p:
        t = re.sub(r'\\"\+j\.%s\+j\.%s\+j\.%s\+' % (c[0], c[1], c[2]), chr(int("".join(c), 2)) + '"+', t)

    p = find_multiple_matches(t, '\\"\+j\.(\d{3})\+j\.(\d{3})\+')
    for c in p:
        t = re.sub(r'\\"\+j\.%s\+j\.%s\+' % (c[0], c[1]), chr(int("".join(c),2)) + '"+', t)

    p = find_multiple_matches(t, 'j\.(\d{3})')
    for c in p:
        t = re.sub(r'j\.%s' % c, '"' + str(int(c, 2)) + '"', t)

    r = re.sub(r'"\+"|\\\\','',t[1:-1])

    return r
Si estás pensando en contemplar los dos casos en java no creo que tengas muchos problemas

EDITO: La función 'jjdecode' anterior necesita que se le añada from core.scrapertools import *

Re: Fallan conectores, Powvideo y Flashx

Publicado: 05 Nov 2016, 11:41
por robalo
la parte del reemplace de "src" a "file" la tienes en el packed pero esta parte nos da igual

Re: Fallan conectores, Powvideo y Flashx

Publicado: 05 Nov 2016, 11:56
por yari7
Podéis confirmarme que este último powvideo sigue funcionando?
Lo he descargado para plex y no me va.

Edito: Ya me funciona. ;)

Re: Fallan conectores, Powvideo y Flashx

Publicado: 05 Nov 2016, 13:16
por tormund
robalo escribió:@tormund
En powvideo

Código: Seleccionar todo

l=~[];l={___:++l,$$$$:(![]+"")[l],__$:++l,$_$_:(![]+"")[l],_$_:++l,$_$$:({}+"")[l],$$_$:(l[l]+"")[l],_$$:++l,$$$_:(!""+"")[l],$__:++l,$_$:++l,$$__:({}+"")[l],$$_:++l,$$$:++l,$___:++l,$__$:++l};l.$_=(l.$_=l+"")[l.$_$]+(l._$=l.$_[l.__$])+(l.$$=(l.$+"")[l.__$])+((!l)+"")[l._$$]+(l.__=l.$_[l.$$_])+(l.$=(!""+"")[l.__$])+(l._=(!""+"")[l._$_])+l.$_[l.$_$]+l.__+l._$+l.$;l.$$=l.$+(!""+"")[l._$$]+l.__+l._+l.$+l.$$;l.$=(l.___)[l.$_][l.$_];l.$(l.$(l.$$+"\""+"\\"+l.__$+l.$$_+l.$$_+l.$_$_+"\\"+l.__$+l.$$_+l._$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"=[\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+"\\"+l.__$+l.___+l.__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l._$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l._$_+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l._$$+l.__$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l._$_+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.__$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.___+"\\\",\\\"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l._$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$_$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+"\\"+l.__$+l.___+l.$_$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$$$+"\\\\\\"+l.__$+l.$$$+l.___+l.$$$+l.$__+"\\\\\\"+l.__$+l.$$$+l.___+l.$$_+l.$___+"\\\"];\\"+l.__$+l.___+l.__$+"\\"+l.__$+l.$$_+l._$_+"\\"+l.__$+l.$$_+l._$_+l.$_$_+"\\"+l.__$+l.$$$+l.__$+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.__$+"]][_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.___+"]]=\\"+l.$__+l.___+l.$$$$+l._+"\\"+l.__$+l.$_$+l.$$_+l.$$__+l.__+"\\"+l.__$+l.$_$+l.__$+l._$+"\\"+l.__$+l.$_$+l.$$_+"(){\\"+l.__$+l.$$_+l.$$_+l.$_$_+"\\"+l.__$+l.$$_+l._$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+"="+l.__+"\\"+l.__$+l.$_$+l.___+"\\"+l.__$+l.$_$+l.__$+"\\"+l.__$+l.$$_+l._$$+";_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+"=\\"+l.$__+l.___+"$[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.$_$+"]](_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+","+l.$$$$+l._+"\\"+l.__$+l.$_$+l.$$_+l.$$__+l.__+"\\"+l.__$+l.$_$+l.__$+l._$+"\\"+l.__$+l.$_$+l.$$_+"(_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"){_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l._$_+"]]=\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l._$_+"]][_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.$__+"]](/["+l.___+"-"+l.$__$+l.$_$_+"-\\"+l.__$+l.$$$+l._$_+"](["+l.___+"-"+l.$__$+l.$_$_+"-\\"+l.__$+l.$$$+l._$_+"]{"+l.$__+l.___+",})/,_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l._$$+"]);\\"+l.__$+l.$$_+l._$_+l.$$$_+l.__+l._+"\\"+l.__$+l.$$_+l._$_+"\\"+l.__$+l.$_$+l.$$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l._$_+"});\\"+l.__$+l.$$_+l._$_+l.$$$_+l.__+l._+"\\"+l.__$+l.$$_+l._$_+"\\"+l.__$+l.$_$+l.$$_+"\\"+l.$__+l.___+"_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$__+l.$$$$+l.$$$$+l.$$$$+"\\"+l.__$+l.$$$+l.___+l.__$+"[_"+l.___+"\\"+l.__$+l.$$$+l.___+l.$$_$+l.$$_$+l._$_+l.$$$$+"["+l.$$_+"]]}"+"\"")())();
y en streamplay

Código: Seleccionar todo

k=~[];k={___:++k,$$$$:(![]+"")[k],__$:++k,$_$_:(![]+"")[k],_$_:++k,$_$$:({}+"")[k],$$_$:(k[k]+"")[k],_$$:++k,$$$_:(!""+"")[k],$__:++k,$_$:++k,$$__:({}+"")[k],$$_:++k,$$$:++k,$___:++k,$__$:++k};k.$_=(k.$_=k+"")[k.$_$]+(k._$=k.$_[k.__$])+(k.$$=(k.$+"")[k.__$])+((!k)+"")[k._$$]+(k.__=k.$_[k.$$_])+(k.$=(!""+"")[k.__$])+(k._=(!""+"")[k._$_])+k.$_[k.$_$]+k.__+k._$+k.$;k.$$=k.$+(!""+"")[k._$$]+k.__+k._+k.$+k.$$;k.$=(k.___)[k.$_][k.$_];k.$(k.$(k.$$+"\""+"\\"+k.__$+k.$$_+k.$$_+k.$_$_+"\\"+k.__$+k.$$_+k._$_+"\\"+k.$__+k.___+"_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"=[\\\"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$$_+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$__$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+"\\"+k.__$+k.___+k._$$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$_$+"\\\",\\\"\\\\\\"+k.__$+k.$$$+k.___+k._$_+k.$__+"\\\\\\"+k.__$+k.$$$+k.___+k._$$+k.__$+"\\\",\\\"\\\\\\"+k.__$+k.$$$+k.___+k.$$$+k._$_+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$_$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$$+k.___+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+"\\"+k.__$+k.___+k._$$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.__$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k._$$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.$_$+"\\\",\\\"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+"\\"+k.__$+k.___+k.$__+"\\\\\\"+k.__$+k.$$$+k.___+k.$$_+k.__$+"\\\\\\"+k.__$+k.$$$+k.___+k.$$$+k.___+"\\\"];\\"+k.__$+k.$$_+k._$$+k.$$__+"=\\"+k.$__+k.___+k.$$$$+k._+"\\"+k.__$+k.$_$+k.$$_+k.$$__+k.__+"\\"+k.__$+k.$_$+k.__$+k._$+"\\"+k.__$+k.$_$+k.$$_+"(_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k.__$+"){\\"+k.__$+k.$$_+k._$_+k.$$$_+k.__+k._+"\\"+k.__$+k.$$_+k._$_+"\\"+k.__$+k.$_$+k.$$_+"\\"+k.$__+k.___+"$[_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k._$$+"]](_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k.__$+","+k.$$$$+k._+"\\"+k.__$+k.$_$+k.$$_+k.$$__+k.__+"\\"+k.__$+k.$_$+k.__$+k._$+"\\"+k.__$+k.$_$+k.$$_+"(_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"){_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"[_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k.___+"]]=\\"+k.$__+k.___+"_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"[_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k.___+"]][_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k._$_+"]](/["+k.___+"-"+k.$__$+k.$_$_+"-\\"+k.__$+k.$$$+k._$_+"](["+k.___+"-"+k.$__$+k.$_$_+"-\\"+k.__$+k.$$$+k._$_+"]{"+k.$__+k.___+",})/,_"+k.___+"\\"+k.__$+k.$$$+k.___+k.$$_+k.$___+k.$_$_+k.$$_+"["+k.__$+"]);\\"+k.__$+k.$$_+k._$_+k.$$$_+k.__+k._+"\\"+k.__$+k.$$_+k._$_+"\\"+k.__$+k.$_$+k.$$_+"\\"+k.$__+k.___+"_"+k.___+"\\"+k.__$+k.$$$+k.___+k.__$+k._$$+k.$$$$+k._$_+"\\"+k.__$+k.$$$+k.___+k._$_+"})}"+"\"")())();
Tanto el powvideo como el de streamplay podemos ver el texto sin ofuscar con la librería jjdecode de Syed Zainudeen o con la siguiente función

Código: Seleccionar todo

def jjdecode(t):

    x = '0123456789abcdef'
    j = get_match(t, '^([^=]+)=')
    t = t.replace(j + '.', 'j.')

    t = re.sub(r'^.*?"\\""\+(.*?)\+"\\"".*?$', r'\1', t.replace('\\\\', '\\')) + '+""'
    t = re.sub('(\(!\[\]\+""\)\[j\._\$_\])', '"l"', t)
    t = re.sub(r'j\._\$\+', '"o"+', t)
    t = re.sub(r'j\.__\+', '"t"+', t)
    t = re.sub(r'j\._\+', '"u"+', t)

    p = find_multiple_matches(t, '(j\.[^\+]+\+)')
    for c in p:
        t = t.replace(c, c.replace('_', '0').replace('$', '1'))

    p = find_multiple_matches(t, 'j\.(\d{4})')
    for c in p:
        t = re.sub(r'j\.%s' % c, '"' + x[int(c, 2)] + '"', t)

    p = find_multiple_matches(t, '\\"\+j\.(001)\+j\.(\d{3})\+j\.(\d{3})\+')
    for c in p:
        t = re.sub(r'\\"\+j\.%s\+j\.%s\+j\.%s\+' % (c[0], c[1], c[2]), chr(int("".join(c), 2)) + '"+', t)

    p = find_multiple_matches(t, '\\"\+j\.(\d{3})\+j\.(\d{3})\+')
    for c in p:
        t = re.sub(r'\\"\+j\.%s\+j\.%s\+' % (c[0], c[1]), chr(int("".join(c),2)) + '"+', t)

    p = find_multiple_matches(t, 'j\.(\d{3})')
    for c in p:
        t = re.sub(r'j\.%s' % c, '"' + str(int(c, 2)) + '"', t)

    r = re.sub(r'"\+"|\\\\','',t[1:-1])

    return r
Si estás pensando en contemplar los dos casos en java no creo que tengas muchos problemas

EDITO: La función 'jjdecode' anterior necesita que se le añada from core.scrapertools import *
Waw, ni siquiera había reparado en ese chorizaco de símbolos. Me lo apunto por si en un futuro tuviera que usarlo y si tengo un hueco intentaré traducir esa función a java.

Muchas gracias crack.

Re: Fallan conectores, Powvideo y Flashx

Publicado: 05 Nov 2016, 14:24
por Cmos
robalo escribió:@Cmos el caracter lo elimina en el jjdecode del inicio, es igual para powvideo y streamplay con la excepción de powvideo que antes de eliminar el caracter reemplaza "src" por "file". Simplificando un poco, las dos funciones del jjdecode (2 para powvideo, 1 para streamplay)
Me quito el sombrero maestro :D Ni me había fijado en los jj, mi mente tiende a ignorarlos cuando veo tal cantidad de datos sin sentido :lol: Mañana si puedo le echo un ojo e intento implementarla para ambos conectores, si tú o algún otro crack no se adelanta claro, por mí no te cortes :mrgreen: