Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Como ofuscar a tope un código JavaScript gratis
#1

Hace casi 2 años os puse un par de herramienta que ayudan a la tarea de desofuscar código JavaScript.
http://foroblackhat.com/hilo-desofuscar-...zyTtHWLTCJ
Tengo que decir que a día de hoy, se encuentran cada vez más códigos javascript que se vuelve una tarea complicada la desofuscación. Han evolucionado mucho el mundo de la ofuscación de JavaScript, de manera que ya se hace irrenocible, os voy a dejar los 2 pasos que sigo yo para dejar un código javascript bien ofuscado y gratis Sonrisa

Os pongo un ejemplo que vais a ir viendo como se va ofuscando:
Código:
function hola(msg)
{
    alert(msg);
}
hola("Bienvenido a ForoBlackhat");

Ahora lo voy a pasar por la primera herramienta que es:
http://www.danstools.com/javascript-obfuscate/index.php

El código que me devuelve ofuscado es:
Código:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||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}('2 1(0){3(0)}1("6 4 5");',7,7,'msg|hola|function|alert|a|ForoBlackhat|Bienvenido'.split('|'),0,{}))

Este código es super facil recuperar al original simplemente usando jsbeautifier.org nos lo devuelve, probarlo Sonrisa

Y la segunda herramienta que uso como entrada el código resultante de la primera,
https://javascriptobfuscator.com/Javascr...cator.aspx
el código queda:

Código:
var _0xd4d7=["\x32\x20\x31\x28\x30\x29\x7B\x33\x28\x30\x29\x7D\x31\x28\x22\x36\x20\x34\x20\x35\x22\x29\x3B","\x7C","\x73\x70\x6C\x69\x74","\x6D\x73\x67\x7C\x68\x6F\x6C\x61\x7C\x66\x75\x6E\x63\x74\x69\x6F\x6E\x7C\x61\x6C\x65\x72\x74\x7C\x61\x7C\x46\x6F\x72\x6F\x42\x6C\x61\x63\x6B\x68\x61\x74\x7C\x42\x69\x65\x6E\x76\x65\x6E\x69\x64\x6F","\x72\x65\x70\x6C\x61\x63\x65","","\x5C\x77\x2B","\x5C\x62","\x67"];eval(function(_0xfb97x1,_0xfb97x2,_0xfb97x3,_0xfb97x4,_0xfb97x5,_0xfb97x6){_0xfb97x5=function(_0xfb97x3){return _0xfb97x3};if(!_0xd4d7[5][_0xd4d7[4]](/^/,String)){while(_0xfb97x3--){_0xfb97x6[_0xfb97x3]=_0xfb97x4[_0xfb97x3]||_0xfb97x3};_0xfb97x4=[function(_0xfb97x5){return _0xfb97x6[_0xfb97x5]}];_0xfb97x5=function(){return _0xd4d7[6]};_0xfb97x3=1};while(_0xfb97x3--){if(_0xfb97x4[_0xfb97x3]){_0xfb97x1=_0xfb97x1[_0xd4d7[4]]( new RegExp(_0xd4d7[7]+_0xfb97x5(_0xfb97x3)+_0xd4d7[7],_0xd4d7[8]),_0xfb97x4[_0xfb97x3])}};return _0xfb97x1}(_0xd4d7[0],7,7,_0xd4d7[3][_0xd4d7[2]](_0xd4d7[1]),0,{}))

Ya sólo con ver ese código quita las ganas de tratar de desofucar Sonrisa. Se puede securizar aún más y seguramente haya desofuscadores más potentes que puedas lograr algo, pero ya con estas dos herramientas podemos asegurar nuestros códigos javascript

Canal SEO en Telegram premium
Influenet - Compra/Venta de artículos patrocinados. Sonrisa
Responder
#2

Osea que ofuscas en 2 pasos: uno con la primera herramienta y luego ofuscas el resultado obtenido, ahora ya con la segunda herramienta...
Buen aporte.
Responder
#3

Hola Sauron. Soy nuevo en este foro. Ando investigando técnicas de ofuscación y desofuscación de código Javascript y al leer tu publicación me registré para poder comentar. Como bien dices de seguro hay muchos ofuscadores más potentes y son los que yo ando buscando ya que el ofuscador que mencionaste ya no me parece tan eficiente debido a que encontré la manera de obtener el código casi 100% original.
Para mostrar lo que digo, tomaré como ejemplo el mismo código ofuscado que pusiste en tu publicación:

Código:
var _0x3d47=["\x32\x20\x31\x28\x30\x29\x7B\x33\x28\x30\x29\x7D\x31\x28\x22\x36\x20\x34\x20\x35\x22\x29\x3B","\x7C","\x73\x70\x6C\x69\x74","\x6D\x73\x67\x7C\x68\x6F\x6C\x61\x7C\x66\x75\x6E\x63\x74\x69\x6F\x6E\x7C\x61\x6C\x65\x72\x74\x7C\x61\x7C\x46\x6F\x72\x6F\x42\x6C\x61\x63\x6B\x68\x61\x74\x7C\x42\x69\x65\x6E\x76\x65\x6E\x69\x64\x6F","\x72\x65\x70\x6C\x61\x63\x65","","\x5C\x77\x2B","\x5C\x62","\x67"];eval(function(_0x7f21x1,_0x7f21x2,_0x7f21x3,_0x7f21x4,_0x7f21x5,_0x7f21x6){_0x7f21x5= function(_0x7f21x3){return _0x7f21x3};if(!_0x3d47[5][_0x3d47[4]](/^/,String)){while(_0x7f21x3--){_0x7f21x6[_0x7f21x3]= _0x7f21x4[_0x7f21x3]|| _0x7f21x3};_0x7f21x4= [function(_0x7f21x5){return _0x7f21x6[_0x7f21x5]}];_0x7f21x5= function(){return _0x3d47[6]};_0x7f21x3= 1};while(_0x7f21x3--){if(_0x7f21x4[_0x7f21x3]){_0x7f21x1= _0x7f21x1[_0x3d47[4]]( new RegExp(_0x3d47[7]+ _0x7f21x5(_0x7f21x3)+ _0x3d47[7],_0x3d47[8]),_0x7f21x4[_0x7f21x3])}};return _0x7f21x1}(_0x3d47[0],7,7,_0x3d47[3][_0x3d47[2]](_0x3d47[1]),0,{}))

Si tomamos este código y lo pegamos en la consola del navegador así como se muestra:
[Imagen: 8O0PFGw.jpg]

Luego borramos la palabra eval así:
[Imagen: 3iBCWUg.jpg]

Y pulsamos enter, obtenemos el código original desofuscado:
[Imagen: d4AIDeR.jpg]

Sonrisa

TheoXT, orgulloso de ser un miembro de Foro Black Hat SEO desde Oct 2016.
Responder
#4

TheoXT muy bueno, desde la consola nunca lo había hecho jejeje Sonrisa. El tema es que es imposible ocultar el código JS al final el navegador tiene que interpretarlo si o si. Pero bueno ya la mayoría de usuarios que vean el código JS ofuscado seguramente pasen de él Sonrisa

Canal SEO en Telegram premium
Influenet - Compra/Venta de artículos patrocinados. Sonrisa
Responder
#5

Una buena forma adicional es usar uglify cuando se comprime y ofusca el código. Básicamente, lo que hace, es cambiar los nombres de las variables y funciones. Dando como resultado un código ilegible para quién intente hacer una desofuscación. Vamos, el tío no tendrá ni puñetera idea que está viendo. Gran sonrisa

Ángel
Responder
#6

Vengo a este foro a aportar un poco más. Existe esta página gratuita que ofrece un método de ofuscación un poco más avanzado que las anteriores. Espero que les sirva:
https://javascriptobfuscator.herokuapp.com/

TheoXT, orgulloso de ser un miembro de Foro Black Hat SEO desde Oct 2016.
Responder


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por Curl
08-12-2016, 05:45 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)
Telegram Grupo Telegram