Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/09/2010, 00:10
leif_sk8er
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 14 años, 10 meses
Puntos: 5
Desencriptar JS en PHP. Transformar funciones.

Hola, tengo un problema con un script. Resulta que necesito traducir esto a codigo comprensible html, para ello necesito hacerlo con php.

Se trata de una cadena de texto que mediante JS se convierte a html. Necesitaria hacer el proceso en php y mi pregunta es si pasando las funciones a su respectivo codigo php seria posible hacerlo funcionar.


Esta es la funcion que se convierte en html.
Código HTML:
decodeBase64('yFA/B6/fgVeTFPS4NIqijSVtVUemN39H+e6EuYNxcNiHnCsZeU3W0iY29Fbye4GjyIrqXD9RTiVAU/gI7Pq7Qi1vnoRkLooganMExe36ySUofSME6cF5zgQPoQvnsRNQbp0owGrUZ0fx0EuMWghIg8Pebr7CXoKyNeMzf0neyBePLXvg6u0tYdvCHF7JdLLGpH20CWO6mX8bc2rDAz+bUNshJS/eHNhLCblzvrKbJcddzQRfOkyriWOTusBm3wDZ1kZMs2fEckZRMBvUIiQljZ0L1IV3wDkVQ9cbdDqEIHlWi/xmHtVsb4G+SAMpsBNpXJzfzle4IZaHWdt+GOsI+y1DiHdRJ9mizN0+mEUsIhGqgJMiIMzeFeSmRQ21PxDVXP0yLKcsX3IPfPlcIOGcAGXcpXLgchisgZoyej4aEk0MTsRFGto4kvGzHBAyFrsf+UfKZf4ZqYQmx1pFMl8A0CQbhAoOgKioUFNOASCSTpvNqwiL1aRJuYQo/MzOLjhTcwrTua5Cg50513LwRkC7BJcIsHKCuWvU3CyKKV5Iz1M4qB5C4dBISifGiaisjwmprQk4VWeLVmyba+lzpfDa7PjGs3Hh54cE6BoN4aJVqaUpLvbxJfd2A4ODlTrOQZmFa129XbYkApB5EejTqY6TU4AW3p9G+Kd4TNAjTE2KVfUIW5bhXSvEE5Gs8JCp1xxgPcwrSTVdqe+VsjhqKjihnMouWiXn5pQzv2DlsGzDB1jShTmdWvo9gv4kya16ZzBUalTPTXVVPlapL4OMIJgwXzGPkO+2mwjgdjF8jzaUjn3AuH+WaaKk1JxpfJmI5IlHAJYKL4T0oVBE+gMFJsUa09IuBMi48ARSa8hXDmGf9nCpcAJ8jCrBdtj0Apm3CgaNWwdhxJhGb5RCLenTvOwB81N7sbyuWI2XzlKdRuUddJgD+3YDFxh1/gkTFgPWyq4xMuEoiZGcVKvfXpIeIZR6JN7cX3kL1HYfJYyZUs6IsYqQOaOy+gjVVw6GgE25oBD9geh8cS5mx94XxIXmi/1KUcYztxx/+zPSihLJ404sVnaxQ2LfpM7QtUUFZnyz4olTEfdQXxaQPUzIbuceyGqJig1djjiGw5qAHYcQQ45gJC3Gs+bzo4xiIJQHSTvi1SP7b9Ge9bV9SjOJ5kt1Z4CZoehu9VYKc+PcUFwWVeWN2Xf+Xp8xf5txn6upEc0tiUbSsQCRkZmJVVJntibWDnq4MjeczapU/sBgsULj5h7+llwmaKgdTCAfOLqWWX69z7ncwXbg+Aws/t6W75nHeAMVTI+3l83TNgCQE8OZvmkz8Nah5qTjeSWJ+AuggwQ5u5/y1r9uLOOrUygl+zlia0ejEGuQjhD/CG03jOB/9QCosM7PxqDHWE+Q27FLwyuwoSqdhNS1lUOvgSf368UBHo2zBu0DSfTxddt6ehdgUAGii4zI3lIOxg2dVazzLZIEJvN3ANTpilfoRuVAIsFh9iWRq64cPB6btdINCd3icZn7z2N/tauxkpSNUjrbdfI35TCWGziEmhWgIOBe9rpWBVnTgOOgfyKIjxdOPsEV7XMSY5Kwzp5yvgcf5hy5hjF3MmMZkydQiX2QrpfnUXW4d1usTpCZ4ysUImSILyn8J9+NDkFOB0/5j598xNwfP/qBIJ6NzrXteNTOuozgpzRQyGLfEM5u9+jzPWPSlqxU/ZmUPJwf/5Ns0PT560WwUVhukTX0VRD4daktBIniUam+GofKcP9bpLJ8jkUzUQfH2zmS8QB/j3PGWmszfXYek97tS+R4P3HqW4nlIe6UxQyrxu+gvS/bZjaDmdRqAge9xdwRNg+vl2WiU/pvpMwaTm+HxMbW1u+WGHmCINHWFgWOvIlFnU4f5QdxSUizjBn3FJzJ/X/kmH6WB9jtDzqX0AzytxCQRQ5Wwi9BRkEX3DLe9UJH0++Gn23vRI33C/lokQeYkk616+vtmu4PyqYYmHXJj7ml/kP+j/NF2DcxPieqIVpoDHd5dzuw7Wwgm7jcA7zZlStxEnicliU0L7wQc6KHREdpI6L0Uyim38+C9G9wJeQtlqh1QcQfpx7UA5xz0QtAqoA0xNYeIakNiUtWfLKub/oeYmnZgMOnQ0FgSg5eG/MiEW0PwW587xnY3hCQP2LxcZ7ZX1kwk60NJszAZUVi8vc1Lrk8GTxw0AGw6VY4t5RKBfyBrJnjMJapOP3W/sF8ILRN/IuaUlwnV0Cx9/9SYLMBsORRhKrlhGk12vfLiW0jmD0R/DgSdwbed4nt6dZPUBzVcEvU9E4LY423F6lhEZ94XBIgYt0+D2jU4CKjQ6i/OA5GLcMxoJWy/YXunKZRMr6K7hzOmL8Fi0KCGgwxndJpDh5CTEfBmtCFn6beHL2Jr4aZub1ccwmVrDk3Bb3ZZhZPuFm+4LiOjYpqQzxIYv68AfewOXBbRtLtHWEwV6GYz/GNdIbdiwYeCMbjIYK5rdatg8H2oT0xH+hrxp0+RDUVmDuBuWtfmplFLNYkUny/tJbg9zo6mvCi2THVvGQaDkeFxA2xWq8MZothAqGl5CxHorkJ+IHMaLmlsfbFkZFXDn/r8bcIFqCE74A9GFH0mHEJDhKnp9clHe/jUotRToWXhEfml13ULTrCwgmBKdkXLNd7+l+D1DHctMk3U2UiZPVpE77km2ydxvg+wZ4t48Ffj416VIn2FX9I7iNW9rc4nG/UC+fHU4MXdX42FSgf8dMipvjGs/h+wJesxZU3DMSo4qCuBk8xepqYbuJPoVgXvKZGTJA+Aoe75B2RX4e+Zdp1Zi2t1i3AIQPrVJBplDbnnFagORBwQE2RVdV6KZcM8Vr4rrKzXi/2dhz1A6vnc4wE8QayWhYDQMuQlqQqG69XyR3K7GWAS0quzuZNIauZTVvYgB1V/vtnYfw9Xc4Kk+0MdKUfyPWa1O8BAgipfyzFvBmoBK9Gtbdjyx6AQJ3rwjvQOoX7IWuCNch6oAahpfSmMPRn2IeNvVsqjJKlrr8RL13tqzGrBL2dknwWR0Q8lu8l+HztiQnwQvN+T0QroVOIaRNW0wb3qKaCRXjOPsrFX/Qlvl6v06qdEMNdDtl1vJKuYnXE69iUvEoMriXhSSehdh4U2KHOGTE5Meqvl+Vv8s8L0q5tF9p+n42r85SRGsWEnaAhYfwe62BW2o4jPkjVLBDXCbqzptaxkgzFYFrGUVS+fSaM1f0DZIE2COIKp4GRau2BHALI05uJarLOcEA9iltL29xbanduUtQ7ntJfs5oLRBCAsZIKZ1PdGENhFM61g0ttZlPVJUHtlmQjKpzyRmCvJlgkZFhQxzzPmkkk+7D+EG6IWC6YXGgMhtR/8oje+wVIM0TT/7C1j0Zu49BD8EGTNcHT8JayxI1YMCSPCaNmPlsZ8joSSmfJccuy4JKOihiRNObO3CBIwEkB2gCeQKXV+Z68XpLqfHk/RzYKKH6S/g==');

Y este es el fichero JS con las funciones de desencriptarlo:
Código Javascript:
Ver original
  1. function Decripta(key, pt) {
  2.     s = new Array();
  3.     for (var i=0; i<256; i++) {
  4.         s[i] = i;
  5.     }
  6.     var j = 0;
  7.     var x;
  8.     for (i=0; i<256; i++) {
  9.         j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;
  10.         x = s[i];
  11.         s[i] = s[j];
  12.         s[j] = x;
  13.     }
  14.     i = 0;
  15.     j = 0;
  16.     var ct = '';
  17.     for (var y=0; y<pt.length; y++) {
  18.         i = (i + 1) % 256;
  19.         j = (j + s[i]) % 256;
  20.         x = s[i];
  21.         s[i] = s[j];
  22.         s[j] = x;
  23.         ct += String.fromCharCode(pt.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);
  24.     }
  25.     return(ct);
  26. }
  27. function Procesa(key, ct) {
  28.     document.write(Decripta(key, ct));
  29. }
  30.  
  31.  
  32.  
  33. var END_OF_INPUT = -1;
  34.  
  35. var base64Chars = new Array(
  36.     'A','B','C','D','E','F','G','H',
  37.     'I','J','K','L','M','N','O','P',
  38.     'Q','R','S','T','U','V','W','X',
  39.     'Y','Z','a','b','c','d','e','f',
  40.     'g','h','i','j','k','l','m','n',
  41.     'o','p','q','r','s','t','u','v',
  42.     'w','x','y','z','0','1','2','3',
  43.     '4','5','6','7','8','9','+','/'
  44. );
  45.  
  46. var reverseBase64Chars = new Array();
  47. for (var i=0; i < base64Chars.length; i++){
  48.     reverseBase64Chars[base64Chars[i]] = i;
  49. }
  50.  
  51. function setBase64Str(str){
  52.     base64Str = str;
  53.     base64Count = 0;
  54. }
  55.  
  56. function decodeBase64(str){
  57.     setBase64Str(str);
  58.     var result = "";
  59.     var inBuffer = new Array(4);
  60.     var done = false;
  61.     while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT
  62.         && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
  63.         inBuffer[2] = readReverseBase64();
  64.         inBuffer[3] = readReverseBase64();
  65.         result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
  66.         if (inBuffer[2] != END_OF_INPUT){
  67.             result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
  68.             if (inBuffer[3] != END_OF_INPUT){
  69.                 result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));
  70.             } else {
  71.                 done = true;
  72.             }
  73.         } else {
  74.             done = true;
  75.         }
  76.     }
  77.    Procesa('cryptkey', result);
  78. }
  79. function readReverseBase64(){  
  80.     if (!base64Str) return END_OF_INPUT;
  81.     while (true){      
  82.         if (base64Count >= base64Str.length) return END_OF_INPUT;
  83.         var nextCharacter = base64Str.charAt(base64Count);
  84.         base64Count++;
  85.         if (reverseBase64Chars[nextCharacter]){
  86.             return reverseBase64Chars[nextCharacter];
  87.         }
  88.         if (nextCharacter == 'A') return 0;
  89.     }
  90.     return END_OF_INPUT;
  91. }
  92. function ntos(n){
  93.     n=n.toString(16);
  94.     if (n.length == 1) n="0"+n;
  95.     n="%"+n;
  96.     return unescape(n);
  97. }




Es bastante complejo para mi con lo que agtradeceria cualquier ayuda.

Muchas gracias!