Никогда не сталкивался, с этими штуками, только минификаторы, а вообще
http://www.javascript-source.com/ там есть скрин "unreadable code", судя по нему логику запутывает точно, циклы например появляются ни с того ни с сего. Вот бесплатный
http://www.javascriptobfuscator.com/default.aspx, но отличие от минификатора лишь в том, что переменные названы аля _0x3b59x15. Платных много. Вот еще бесплатный, результаты его часто видел
http://www.bl2.ru/programing/jsobfuscator.html
Пример из сети:
// сорц
function CalculateSalary(aEmployees)
{
var nEmpIndex = 0;
while (nEmpIndex < aEmployees.length)
{
var oEmployee = aEmployees[nEmpIndex];
oEmployee.fSalary = CalculateBaseSalary(oEmployee.nType,
oEmployee.nWorkingHours);
if (oEmployee.bBonusAllowed == true)
{
oEmployee.fBonus = CalculateBonusSalary(oEmployee.nType,
oEmployee.nWorkingHours,
oEmployee.fSalary);
}
else
{
oEmployee.fBonus = 0;
}
oEmployee.sSalaryColor = GetSalaryColor(oEmployee.fSalary +
oEmployee.fBonus);
nEmpIndex++;
}
}
//результат
eval(function(p,a,c,k,e,d){while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c])}}return p}('a b(3){7 2=0;9(2<3.d){7 1=3[2];1.4=c(1.6,1.8);h(1.j==k)
{1.5=e(1.6,1.8,1.4)}i{1.5=0}1.f=g(1.4+1.5);2++}}',21,21,
'|oEmployee|nEmpIndex|aEmployees|fSalary|fBonus|nType|var|nWorkingHours|while|function|" + "CalculateSalary|CalculateBaseSalary|length|CalculateBonusSalary|sSalaryColor|GetSalaryColor|if|else|bBonusAllowed|true'.split('|')))
//Я перенес несколько строк в результате и добавил конкатенацию длинной строки чтобы страницу форума не растопыривать на весь экран по ширине
Если у вас реально что то очень ценное, что надо защитить, лучше серьезным чем то кодировать, а если так, чтоб в глаза не бросалось, на мой взглад хватит и вот этого packer-a
Livaanderiamarum,
Сообщение от Livaanderiamarum
|
наподобие этого, только чтобы логику запутывал.
|
А то в вашем примере, реально, будто и не обфусцировано ничего