2010-03-17 5 views
11

Вы знаете, как выглядят эти упакованные js-файлы, не так ли?Как распаковать содержимое файла JavaScript?

 eval(function(p,a,c,k,e,d){ ... } ('obfuscated-string'.split('|'),0,{}))

Это просто так случается, что я должен настроить некоторый крупный унаследованный код, который выглядит так, и я хочу, чтобы найти способ, чтобы превратить это в более читаемый вариант.

Если это невозможно, могу ли я хотя бы избавиться от eval?

ответ

11

Вы можете с онлайн распаковщиков: попробовать один из них, найти тот, который подходит именно Вам:

+0

Отлично, они отлично работают! –

13

JS Beautifier оба переформатирование и распаковывать:

http://jsbeautifier.org/

+0

Я использовал это, чтобы распаковать один сложный javascript. Он чисто распакован. – srv

+0

Это классно. Я использовал его для форматирования javascript-кода. – Vasyl

0
eval(function(W,H,A,K){function z(i){return(i< 62?'':z(this['parseInt'](i/62)))+((i=i%62)>35?String.fromCharCode(i+29):i.toString(36))}for(var i=0;i<W.length;i++)A[z(i)]=W[i];function d(w){return A[w]?A[w]:w;};return H.replace(/\b\w+\b/g,d);}('alert|Testing|packed'.split('|'),'0("1 0 2");',{})); 

Что я могу сделать, это изменить Eval для document.getElementById ('тест') значение =, а затем убедитесь, что у меня есть текстовое поле. (без разбора DOM, Multilines) wuth ID

test.value=(function(W,H,A,K){function z(i){return(i< 62?'':z(this['parseInt'](i/62)))+((i=i%62)>35?String.fromCharCode(i+29):i.toString(36))}for(var i=0;i<W.length;i++)A[z(i)]=W[i];function d(w){return A[w]?A[w]:w;};return H.replace(/\b\w+\b/g,d);}('alert|Testing|packed'.split('|'),'0("1 0 2");',{}));
<textarea id=test rows=9 cals=77></textarea>

= 'test'

+0

http://www.scriptcompress.com/unpack.htm - это онлайн-инструмент, который я сделал для распаковки, также http://www.scriptcompress.com/decoder.htm попытается декодировать его в DOM, через парсер JSOn и больше –

+0

ничего себе, этот кусочек стека для вещей был для меня новым. –