Saludos.
Obtener la URL de un vídeo embebido

Re: Obtener la URL de un vídeo embebido
Mensaje por tormund » 16 Dic 2016, 23:13
Saludos.
Re: Obtener la URL de un vídeo embebido
Mensaje por robalo » 16 Dic 2016, 23:40
Ahora mismo lo que hecen es invertir el hash y eliminar el segundo caracter. Puedes hacerlo así de simple o intentar reproducir el script por si le dan por continuar con el método y eliminar caratares aleatorios.
Tanto como powvideo como streamplay están usando el mismo método; jjencode para tratar las urls y aaencode para las urls. El script que se obtiene con el jjdecode es el mismo en los dos servidores.
Publicidad
Re: Obtener la URL de un vídeo embebido
Mensaje por tormund » 17 Dic 2016, 12:18
Saludos.
Re: Obtener la URL de un vídeo embebido
Mensaje por robalo » 17 Dic 2016, 14:34
versión ScriptEngine
Código: Seleccionar todo
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class jjdecode1 {
String jj_decode;
jjdecode1(String jj_encode) {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
jj_encode = jj_encode.replaceAll("\\w\\.\\$\\((\\w\\.\\$\\()", "$1");
jj_encode = jj_encode.replace(")();", ";");
try {
engine.eval("var res = " + jj_encode);
} catch (ScriptException e) {
e.printStackTrace();
}
jj_decode = (String) engine.get("res");
}
}
Código: Seleccionar todo
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class jjdecode {
String jj_decode;
jjdecode(String jj_encode) {
String j = "";
Matcher matches = Pattern.compile("^([^=]+)=").matcher(jj_encode);
while (matches.find()) {
j = matches.group(1);
}
jj_encode = jj_encode.replace(j + ".", "j.").replace("\\\\", "\\") + "+\"\"";
jj_encode = jj_encode.replaceAll("^.*?\"\\\\\"\"\\+(.*?)\\+\"\\\\\"\".*?$", "$1");
jj_encode = jj_encode.replace("(![]+'')[j._$_]", "\"l\"");
jj_encode = jj_encode.replace("j._$+", "\"o\"+");
jj_encode = jj_encode.replace("j.__+", "\"t\"+");
jj_encode = jj_encode.replace("j._+", "\"u\"+");
matches = Pattern.compile("(j\\.[^\\+]+\\+)").matcher(jj_encode);
while (matches.find()) {
String match = matches.group(1);
jj_encode = jj_encode.replace(match,match.replace("_", "0").replace("$", "1"));
}
matches = Pattern.compile("j\\.(\\d{4})").matcher(jj_encode);
while (matches.find()) {
String match = matches.group(1);
jj_encode = jj_encode.replace("j." + match + "+","\"" + Integer.toHexString(Integer.parseInt(match, 2)) + "\"+");
}
matches = Pattern.compile("\\\"\\+j\\.(001)\\+j\\.(\\d{3})\\+j\\.(\\d{3})\\+").matcher(jj_encode);
while (matches.find()) {
String m1 = matches.group(1);
String m2 = matches.group(2);
String m3 = matches.group(3);
jj_encode = jj_encode.replace("\\\"+j." + m1 + "+j." + m2 + "+j." + m3 + "+",Character.toString((char) Integer.parseInt(m1+m2+m3, 2)) + "\"+");
}
matches = Pattern.compile("\\\"\\+j\\.(\\d{3})\\+j\\.(\\d{3})\\+").matcher(jj_encode);
while (matches.find()) {
String m1 = matches.group(1);
String m2 = matches.group(2);
jj_encode = jj_encode.replace("\\\"+j." + m1 + "+j." + m2 + "+",Character.toString((char) Integer.parseInt(m1+m2, 2)) + "\"+");
}
matches = Pattern.compile("j\\.(\\d{3})").matcher(jj_encode);
while (matches.find()) {
String m1 = matches.group(1);
jj_encode = jj_encode.replace("j." + m1,"\"" + Integer.parseInt(m1, 2) + "\"");
}
jj_encode = jj_encode.replaceAll("\"\\+\"", "").replace("\\\\\"", "\"").replace("\\\\", "\\");
jj_encode = jj_encode.replaceAll("^\"(.*?)\"$", "$1");
jj_decode = jj_encode;
}
}
Re: Obtener la URL de un vídeo embebido
Mensaje por tormund » 17 Dic 2016, 19:13
Código: Seleccionar todo
var _0xa425=["\x73\x69\x7A\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x66\x69\x6C\x65","\x72\x65\x76\x65\x72\x73\x65","","\x73\x70\x6C\x69\x74","\x73\x70\x6C\x69\x63\x65","\x6A\x6F\x69\x6E","\x72\x65\x70\x6C\x61\x63\x65","\x6D\x61\x70","\x6C\x65\x6E\x67\x74\x68"];Array[_0xa425[1]][_0xa425[0]]= function(){var _0xf328x1=this;_0xf328x1= $[_0xa425[9]](_0xf328x1,function(_0xf328x2){_0xf328x2[_0xa425[2]]= _0xf328x2[_0xa425[2]][_0xa425[8]](/[0-9a-z]{40,}/i,function(_0xf328x3){var _0xf328x4=_0xf328x3[_0xa425[5]](_0xa425[4])[_0xa425[3]]();_0xf328x4[_0xa425[6]](1,1);return _0xf328x4[_0xa425[7]](_0xa425[4])});return _0xf328x2});return _0xf328x1[_0xa425[10]]}
Saludos.
Re: Obtener la URL de un vídeo embebido
Mensaje por robalo » 18 Dic 2016, 21:56

Comolll!!!??? Pues sí



El que enrede con JS en el desarrollo o mantenimiento de aplicaciones web debería saber interpretarlo, lo hago yo que soy un pardillo así que el que se dedique a eso ni te cuento la de recursos de su invento que debe de tener

vamos al comolll!?
Lo primero que hago como buen hijo de vecino, es comparar la entrada y la salida.
En este caso se ve con claridad que se reemplaza el hash invirtiendo e eliminando un caracter del mismo.
Con eso ya sé que como mínimo se usa s.replace(a,b), s.inverse() y un método o más que tengo que consultar cuando evalue la variable "_0xa425".
En este caso el s.replace(a,b) es fundamental, sólo existe uno, así que sin miramiento alguno, todo lo que hay entre el primer ";" y "_0xf328x2[_0xa425[2]]=_0xf328x2[_0xa425[2]][_0xa425[8]]" lo elimino. Al eliminarlo me obliga a eliminar lo que le sobra al final del script; "return _0xf328x2});return _0xf328x1[_0xa425[10]]}".
A lo que me queda le elimino (lo que es de cajón, al menos para mí) los "[_0xa425[2]]" ya que sería un elemento que sólo funcionaría en la página web y sólo quiero s.replace(a,b) y no s.algo.replace(a,b).
Elimino los dos que hay y me queda algo que puedo evaluar y clarificar por si quiero recrearlo
Código: Seleccionar todo
_0xa425= ["\x73\x69\x7A\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x66\x69\x6C\x65","\x72\x65\x76\x65\x72\x73\x65","","\x73\x70\x6C\x69\x74","\x73\x70\x6C\x69\x63\x65","\x6A\x6F\x69\x6E","\x72\x65\x70\x6C\x61\x63\x65","\x6D\x61\x70","\x6C\x65\x6E\x67\x74\x68"];_0xf328x2= _0xf328x2[_0xa425[8]](/[0-9a-z]{40,}/i,function(_0xf328x3){_0xf328x4=_0xf328x3[_0xa425[5]](_0xa425[4])[_0xa425[3]]();_0xf328x4[_0xa425[6]](1,1);return _0xf328x4[_0xa425[7]](_0xa425[4])});
Código: Seleccionar todo
_0xa425= ["\x73\x69\x7A\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x66\x69\x6C\x65","\x72\x65\x76\x65\x72\x73\x65","","\x73\x70\x6C\x69\x74","\x73\x70\x6C\x69\x63\x65","\x6A\x6F\x69\x6E","\x72\x65\x70\x6C\x61\x63\x65","\x6D\x61\x70","\x6C\x65\x6E\x67\x74\x68"];
_0xf328x2= "http://1.2.3.4:1234/a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u0v1w2x3y4z5a6b7c8d9e/l.ext";
_0xf328x2= _0xf328x2[_0xa425[8]](/[0-9a-z]{40,}/i,function(_0xf328x3){_0xf328x4=_0xf328x3[_0xa425[5]](_0xa425[4])[_0xa425[3]]();_0xf328x4[_0xa425[6]](1,1);return _0xf328x4[_0xa425[7]](_0xa425[4])});
alert("url:" + _0xf328x2 + "\nmétodos: " + _0xa425);
Al resultado de todo le he renombrado todas las variables "_0xf328xn" por "var_n" con lo que se me queda un code más mono por si quiero reproducirlo en lo que sea

Código: Seleccionar todo
var_2= "http://1.2.3.4:1234/a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9u0v1w2x3y4z5a6b7c8d9e/l.ext";
var_2= var_2.replace(/[0-9a-z]{40,}/i,function(var_3){var_4=var_3.split("").reverse();var_4.splice(1,1);return var_4.join("")});
alert("url:" + var_2);

Re: Obtener la URL de un vídeo embebido
Mensaje por tormund » 19 Dic 2016, 12:17
Maestro, a sus pies.
Re: Obtener la URL de un vídeo embebido
Mensaje por robalo » 20 Dic 2016, 02:17
jjhexdecode.java
Código: Seleccionar todo
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class jjhexdecode {
String jj_hexdecode;
jjhexdecode(String jj_hexencode) {
String jj_methods = jj_hexencode.replaceAll("^[^\\=]+\\=\\[([^\\]]+)\\];.+$", "$1");
String jj_script = jj_hexencode.replaceAll("^[^\\=]+\\=\\[[^\\]]+\\];(.+)$", "$1");
String var_methods = "";
String patron = "(\")([^\"]*)(\")((?:,|$))";
String patron2 = "\\\\x(\\w+)";
Matcher matches = Pattern.compile(patron).matcher(jj_methods);
while (matches.find()){
var_methods += matches.group(1);
Matcher matches2 = Pattern.compile(patron2).matcher(matches.group(2));
while (matches2.find()){
char d = (char) Integer.parseInt(matches2.group(1), 16);
var_methods += d;
}
var_methods += matches.group(3);
var_methods += matches.group(4);
}
String[] var_0 = var_methods.split(",");
jj_script = jj_script.replaceAll("_\\d+x\\w+x(\\d+)", "var_$1");
jj_script = jj_script.replaceAll("_\\d+x\\w+", "var_0");
for ( int i= 0;i < var_0.length; i++ ){
if (var_0[i].length() == 2)
jj_script = jj_script.replace("var_0[" + i + "]", var_0[i]);
else
jj_script = jj_script.replace("[var_0[" + i + "]]", "." + var_0[i].replace("\"", ""));
}
jj_hexdecode = jj_script;
}
}

Re: Obtener la URL de un vídeo embebido
Mensaje por tormund » 21 Dic 2016, 20:46
He visto que en Streminto también han introducido la función packed, es de esperar que terminen haciendo cambios de este tipo, así que esto vendrá de lujo para encontrar rápidamente el cambio.
Saludos y muchas gracias.
-
- Mensajes: 5
- Registrado: 18 Ene 2017, 20:52
Re: Obtener la URL de un vídeo embebido
Mensaje por ChollyStanton » 21 Ene 2017, 01:08
Ha vuelto a fallar powvideo en java. Algún arreglo reciente? gracias
- Ayuda sobre plugins
- ↳ tvalacarta
- ↳ Problemas (no me funciona...)
- ↳ Preguntas (cómo se hace...)
- ↳ Sugerencias (estaría bien que hubiera...)
- ↳ pelisalacarta
- ↳ Problemas (no me funciona...)
- ↳ Preguntas (cómo se hace...)
- ↳ Sugerencias (estaría bien que hubiera...)
- ↳ pelisalacarta (For Italian users)
- ↳ Problemi (Non mi funziona...)
- ↳ Domande (Come fare a...)
- ↳ Suggerimenti (Sarebbe bello che...)
- ↳ mywebtv
- ↳ Problemas (no me funciona...)
- ↳ Preguntas (cómo se hace...)
- ↳ Sugerencias (estaría bien que hubiera...)
- ↳ MediaExplorer
- ↳ Balandro
- ↳ Otros plugins
- ↳ Alfa
- ↳ Alfa (For Italian users)
- ↳ Tutoriales
- Ayuda sobre mediacenters
- ↳ XBMC / Kodi
- ↳ Plex
- ↳ Android
- ↳ Raspberry Pi
- ↳ Boxee
- ↳ WiiMC
- ↳ Enigma 2
- ↳ Otros media center
- Sugerencias
- ↳ Nuevos canales
- ↳ Mejoras
- Desarrolladores
- Comunidad
¿Qué es Mi media center?
Este es el foro oficial de soporte para pelisalacarta, tvalacarta y mywebtv.
También es un lugar para compartir tus experiencias con dispositivos multimedia y software media center, puede que encuentres algo interesante que ni siquiera sabías que se podía hacer.
Primeros pasos en Kodi
Si estás empezando con Kodi, o si estás interesado en sacarle más partido, puedes echar un vistazo a esta colección de video-tutoriales.
Aprenderás a crear y optimizar tu biblioteca, a instalar add-ons, a buscar subtítulos...
Cómo reportar un problema
Si tienes un problema en alguno de los plugins y quieres reportarlo, no olvides incluir el log.
Para que resulte útil tienes que activar la opción de "log completo" en el plugin, luego reiniciar Kodi y dar los pasos necesarios hasta que se produzca el problema.
Luego copia tu fichero de log, siguiendo las instrucciones que se describen en este enlace, e inclúyelo al final de la descripción de tu problema.
Aprende a programar para Kodi
Si sabes programar, esta serie de tutoriales que describen paso a paso cómo desarrollar tu propio add-on para Kodi.
Y si quieres añadir tus propios canales a pelisalacarta también te contamos paso a paso cómo hacerlo en este enlace.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados