Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: AlbertoBSD en 17 Enero 2020, 02:42 am



Título: [Resuelto] ¿Cual es la mejor forma de depurar un JS semiofuscado?
Publicado por: AlbertoBSD en 17 Enero 2020, 02:42 am
Seguramente muchos de ustedes han visto esos códigos javascript Semiofucados ejemplo:

Código
  1. !function(a){function k(k){for(var n,a,f=k[0],d=k[1],u=k[2],l=0,b=[];l<f.length;l++)o[a=f[l]]&&b.push(o[a][0])
  2. ....

Y asi le sigue por unos cuantos Kilobytes de codigo minificado.

Entonces esa es la pregunta, cual es la mejor forma de depurar que es lo que esta haciendo, pregunto por que javascript es bastante permisivo con la sintaxis.

Obvio primer paso:
-- Utilizar alguna de esas paginas para que el código se vea indentado y tabulado

Saludos!


Título: Re: ¿Cual es la mejor forma de depurar un JS semiofuscado?
Publicado por: engel lex en 17 Enero 2020, 03:25 am
depsues de organizarlo haces el debug con las herramientas de navegador, usualmente el chrome te da suficiente info...

si aun es muy cuesta arriba, con un buen editor de codig (ej vs code) empiezas a hacer limpieza a mano del codigo, muchos meten if de un solo paso, ejemplo

xxx = 10 xor 5 ? no : si

y bueno 10 es 1010, 5 es 101 por lo tanto siempre sera false...

y resolver las variables de nombres tipo aslkdjd


Título: Re: ¿Cual es la mejor forma de depurar un JS semiofuscado?
Publicado por: AlbertoBSD en 17 Enero 2020, 05:01 am
Si ya veo, tal como me lo imaginaba mucho trabajo en libreta, reescribir codigo y depuración con el DOM.

Muchas gracias por la respuesta Engel siempre tan oportuno, un abrazo!


Título: Re: ¿Cual es la mejor forma de depurar un JS semiofuscado?
Publicado por: engel lex en 17 Enero 2020, 05:06 am
si, se torna fastidioso... pero despues de unas veces puedes hacerlo en unos minutos o como mucho un par de horas si es muy largo... sin embargo con el inspector del navegador te ayuda mucho a ver desofuscado el codigo... o por lo menos las funciones ofuscadas...

no se si habrá mejores depuradores de js


Título: Re: ¿Cual es la mejor forma de depurar un JS semiofuscado?
Publicado por: MinusFour en 17 Enero 2020, 14:17 pm
¿Depurar o volver el código legible? Para depurar código minificado se utilizan los source maps. Es la mejor forma de ver en que parte del código original se encuentra el error o el comportamiento incorrecto. No tiene mucho sentido trabajar con el código minificado.


Título: Re: ¿Cual es la mejor forma de depurar un JS semiofuscado?
Publicado por: engel lex en 17 Enero 2020, 14:34 pm
¿Depurar o volver el código legible? Para depurar código minificado se utilizan los source maps. Es la mejor forma de ver en que parte del código original se encuentra el error o el comportamiento incorrecto. No tiene mucho sentido trabajar con el código minificado.

indiscutiblemente... pero cuando te das con js minificado de una pagina X porque necesitas hacer por ejemplo scrapping, o con js ofuscado de alguna pagina virulenta, no vas a tener los sources XD


Título: Re: ¿Cual es la mejor forma de depurar un JS semiofuscado?
Publicado por: @XSStringManolo en 17 Enero 2020, 14:52 pm
Chrome Dev tools. Piensa que el navegador lo tiene que entender para poder correrlo. A veces es tan sencillo como ejecutarlo directamente y ver que hace o pasarle alguna función. Hay algunas páginas por ahí de retos de ofuscación en javascript y el 99% de ellos los hago directamente desde el navegador de android en la propia página usando el pseudo-protocolo, eval, el local-storage y las típicas funciones. Algunos hacen algo tipo de ofuscar el js "live" y si miras el cuerpo de la petición de envio te encuentras todo el código en el body.