Long interested in the question, but not enough time for discussion.

I feature:

function $(id) { return document.getElementById(id); } 

Processed using obfuscator and got in the end:

 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}('1 $(0){2 3.4(0)}',5,5,'id|function|return|document|getElementById'.split('|'),0,{})) 

The question has arisen where to find enough sufficient information, with a detailed description of the cherished processor

 ('1 $(0){2 3.4(0)}',5,5,'id|function|return|document|getElementById'.split('|'),0,{})) 

The value of the number of digits, points, commas, slashes, etc. And is it really possible, while making changes to this handler, to mow down a lot of scripts to access at least DOM elements. Thank.

ZY Obfuscation did here Daft Logic

    1 answer 1

    Mowing in size is real. Although there is a question of each case separately. The snag will be different: eval will slow down the browser when you open the page (slightly, but will). For the sake of interest, obfustsiruyte js-code hashcode and measure.