JSFiddle - React, Tailwind, and code Playground
by Nikita K
HTML
<button id="helloworld">Simple obfuscation</button>
<button id="double">Double obfuscation</button>
JavaScript
// Для работоспособности примера пришлось добавить ф-цию в объект window
window.revealJS = function(s){return s.match(/(.{4})/g).map(function(b){return b.split('').map(function(i){return Array.apply(null,{length:10}).map(Number.call,Number).concat('abcdef'.split(''))[''.split('').indexOf(i)]})}).map(function(c){return String.fromCharCode(0+"x"+c.join(''))}).join('')};
var f = revealJS("");
var helloworld = "";
var doubleObfuscation = "";
// Обфускация обычная
$("#helloworld").click(function(){
(new window[f](revealJS(helloworld)))();
});
// Двойная обфускация
$("#double").click(function(){
(new window[f](revealJS(doubleObfuscation)))();
});
// Разницу можно отследить в консоли, во втором случае код по-прежнему частично невидим.