Skip to content

Instantly share code, notes, and snippets.

@gmocamilotd
Last active November 15, 2018 15:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gmocamilotd/2e182b2d0ae95955ae9775f1d3422520 to your computer and use it in GitHub Desktop.
Save gmocamilotd/2e182b2d0ae95955ae9775f1d3422520 to your computer and use it in GitHub Desktop.
tema, desofuscar, desencriptar
1.- primero identificar que el archivo que contiene el codigo molestoso es del tema en: js/smthemes.js
2.- todo el contenido de archivo se puede desencriptar en http://deobfuscatejavascript.com/
3.- eso aunque parece que ya podemos corregirlo y usarlo.. no funciona, hay algunas funcoines de la pagina que desaparece si simplemente lo usamos así
sin embargo nos da una idea de como se puede evitar que cumpla su cometido.
4.- asi que mejor NO lo des ofuscamos, solo en algu servico web gratuito le damos orden (beauty it) x ejemplo en
https://www.danstools.com/javascript-beautify/
5.- luego así como queda lo pegamos y reemeplzamos con el resultado todo el contenido del archivo js/smthemes.js
6.- luego con CTRL+F buscamos **la segunda vez** (la primera sería cuando declara esa variable) que aparece la palabra ```embeded``` y la reemplazamos por ```true```
7.- y volvemos a subir el nuevo archivo a js/smthemes.js
aunque el intellije me dice que el archvio perdera los cambios al ser regenerado, pero no
:)
# otro método:
1- entrar a esta pagina:
http://jsbeautifier.org/
y debes copiar todo contenido del archivo js/frontend.js (mira que otras veces es js/themes.js)
(loq hice fue buscar en el intellij con CTRL+F la palabra 'embebed')
en esa pagina, le da un formato completo para hacerlo intelegible (algo al menos)
2- luego de ejecutar el "beautify"
se puede ver que esta dividido en funciones, todas pegaditas
q maso menos va a si
~~~
eval(function(p, a, c, k, e, d) {
e = function(c) {
return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if (!''.replace(/^/, String)) {
while (c--) {
d[e(c)] = k[c] || e(c)
}
k = [function(e) {
return d[e]
....
...
p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c])
}
}
return p
}('9(D).C(k(){6 7=B();6 g=7.z;6 7=7.A;6 h={};6 t={};6 v={};6 8=0;E(6 l m 7){8=8+1;t[8]=l+7[l][1]+7[l][2];v[8]=F+7[l][3]+7[l][4]+7[l][5];h[t[8]+\'=\'+v[8]]=J}6 d=(9(\'.q\').r().j==g);6 I;9(\'.q a\').H(k(){o((9(i).n()+\'=\'+9(i).y(\'b\'))m h&&d&&(9(i).K().r().j==g)){}x d=w});o(!d){6 s="u"+"G Q "+"<a b=\'"+v[1]+"\' e=\'c\'>"+t[1]+"</a>, 13"+"L p: <a b=\'"+v[2]+"\' e=\'c\'>"+t[2]+"</a>, <a b=\'"+v[3]+"\' e=\'c\'>"+t[3]+"</a> 12 <a b=\'"+v[4]+"\' e=\'c\'>"+t[4]+"</a>";9(\'14\').15("<f 16=\'11:Z;10:0;R:0;P:0;O:#M;n-N:S\'>T Y X W p U V: <f>"+s+"</f></f>")}});', 62, 69, '||||||var|youtube|ind|jQuery||href|_blank|embeded|target|div|video|vimeo|this|length|function||in|text|if|to|smthemes|children|videoblock||Des||false|else|attr|count|opt|getYouTubeParams|ready|document|for|protocol|igned|each|hr|true|parent|ks|f00|align|background|bottom|by|right|center|Please|the|footer|links|following|return|fixed|left|position|and|than|body|prepend|style'.split('|'), 0, {}));
~~~
copias toda y cada una de las funciones que ves alli y de a pocos las vas pegando en :
http://deobfuscatejavascript.com/
luego de deofuscar, la pegas al archivo de js/frontend.js
reemplazando de a pocos la unica linea de codigo q habia allí
y asi llegas a la ultima funcion, que descubriras que es la que hace la verificacion de la linea de credito que debe tener el tema
asi que luego de estudiarla solo debes cambiar la linea que dice:
~~~
if (!embeded) {
var videoblock = "Des" ...
~~~
por otro que diga:
~~~
if (!true) {
var videoblock = "Des" ...
~~~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment