Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2012, 06:46
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Посоветуйте годный обфускатор!
наподобие этого, только чтобы логику запутывал.
゚ω゚ノ= /`m´)ノ ~┻━┻   //*´∇`*/ ['_']; o=(゚ー゚)  =_=3; c=(゚Θ゚) =(゚ー゚)-(゚ー゚); (゚Д゚) =(゚Θ゚)= (o^_^o)/ (o^_^o);(゚Д゚)={゚Θ゚: '_' ,゚ω゚ノ : ((゚ω゚ノ==3) +'_') [゚Θ゚] ,゚ー゚ノ :(゚ω゚ノ+ '_')[o^_^o -(゚Θ゚)] ,゚Д゚ノ:((゚ー゚==3) +'_')[゚ー゚] }; (゚Д゚) [゚Θ゚] =((゚ω゚ノ==3) +'_') [c^_^o];(゚Д゚) ['c'] = ((゚Д゚)+'_') [ (゚ー゚)+(゚ー゚)-(゚Θ゚) ];(゚Д゚) ['o'] = ((゚Д゚)+'_') [゚Θ゚];(゚o゚)=(゚Д゚) ['c']+(゚Д゚) ['o']+(゚ω゚ノ +'_')[゚Θ゚]+ ((゚ω゚ノ==3) +'_') [゚ー゚] + ((゚Д゚) +'_') [(゚ー゚)+(゚ー゚)]+ ((゚ー゚==3) +'_') [゚Θ゚]+((゚ー゚==3) +'_') [(゚ー゚) - (゚Θ゚)]+(゚Д゚) ['c']+((゚Д゚)+'_') [(゚ー゚)+(゚ー゚)]+ (゚Д゚) ['o']+((゚ー゚==3) +'_') [゚Θ゚];(゚Д゚) ['_'] =(o^_^o) [゚o゚] [゚o゚];(゚ε゚)=((゚ー゚==3) +'_') [゚Θ゚]+ (゚Д゚) .゚Д゚ノ+((゚Д゚)+'_') [(゚ー゚) + (゚ー゚)]+((゚ー゚==3) +'_') [o^_^o -゚Θ゚]+((゚ー゚==3) +'_') [゚Θ゚]+ (゚ω゚ノ +'_') [゚Θ゚]; (゚ー゚)+=(゚Θ゚); (゚Д゚)[゚ε゚]='\\'; (゚Д゚).゚Θ゚ノ=(゚Д゚+ ゚ー゚)[o^_^o -(゚Θ゚)];(o゚ー゚o)=(゚ω゚ノ +'_')[c^_^o];(゚Д゚) [゚o゚]='\"';(゚Д゚) ['_'] ( (゚Д゚) ['_'] (゚ε゚+(゚Д゚)[゚o゚]+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) .゚ω゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) .゚Д゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) .゚Θ゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚) ['c']+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) .゚ω゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) .゚Д゚ノ+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) .゚Д゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((゚ー゚) + (゚ー゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) ['c']+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ ((゚ー゚) + (゚ー゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚) ['c']+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (゚ー゚)+ (゚Д゚) [゚Θ゚]+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) +(o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) .゚ー゚ノ+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚Д゚) [゚Θ゚]+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((゚ー゚) + (゚ー゚))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(o゚ー゚o)+ (c^_^o)+ (゚ー゚)+ (o^_^o)+ ((゚ー゚) + (゚ー゚))+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (c^_^o)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚ー゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ (゚Θ゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((゚ー゚) + (゚Θ゚))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ (゚ー゚)+ ((゚ー゚) + (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((o^_^o) - (゚Θ゚))+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ (゚ー゚)+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (c^_^o)+ (゚Д゚)[゚ε゚]+(゚Θ゚)+ ((o^_^o) +(o^_^o))+ ((゚ー゚) + (o^_^o))+ (゚Д゚)[゚ε゚]+((゚ー゚) + (゚Θ゚))+ (゚Θ゚)+ (゚Д゚)[゚o゚]) (゚Θ゚)) ('_');
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2012, 11:20
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Никогда не сталкивался, с этими штуками, только минификаторы, а вообще 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
наподобие этого, только чтобы логику запутывал.
А то в вашем примере, реально, будто и не обфусцировано ничего
__________________
readOnly

Последний раз редактировалось poorking, 13.01.2012 в 11:35.
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2012, 16:27
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от poorking Посмотреть сообщение
А то в вашем примере, реально, будто и не обфусцировано ничего
А в моем прмиере можно использовать дешифровщик и получить код. который можно отформатировать.
Ответить с цитированием
  #4 (permalink)  
Старый 13.01.2012, 16:38
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Сообщение от Livaanderiamarum
можно использовать дешифровщик
Для дешифровки можно использовать криптологические функции js: toString() или alert() =). Ну бьютифайеру вначале код скормить тока, чтобы руками не искать начало функции. Обсуждали расшифровку похожего кода недавно.

Последний раз редактировалось GuardCat, 13.01.2012 в 18:20.
Ответить с цитированием
  #5 (permalink)  
Старый 13.01.2012, 16:58
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Livaanderiamarum,
Обфускатор - кодировщик, который кодирует текст кода в свою кодировку, да такую, чтобы интерпретатор ее понял, так что, теоретически, любой обфусцировванный код можно раскодировать, например (грубый пример) заменяет конструкции вида
variable = 5
на
eval ("variable = (function () { return 100 - 500 + 405; }())")
результат тот же, интерпретатору поф как это записано, а с точки зрения пользователя кода, записано не очень понятно. Цель - сделать непонятно, а не укрыть информацию. Зашифровать js (AES256 например) не получится, потому что иначе его не распарсит интерпретатор
__________________
readOnly
Ответить с цитированием
  #6 (permalink)  
Старый 13.01.2012, 17:02
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от poorking
заменяет конструкции вида
ну да тока это на производительность повлияет
Ответить с цитированием
  #7 (permalink)  
Старый 13.01.2012, 17:14
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

devote,
А я и не спорю, тут уже нужно на приоритеты смотреть, что важнее, сделать код кучей бесполезной каши для недоброжелателя или выиграть в производительности. На самом деле я пример с потолка привел, они то наверно поинтереснее что-то делают, не так грубо, и гораздо более эффективно. Хотя мне кажется не будет большого проигрыша в производительности, если код в виде строки эвалится, то это произойдет при загрузке страницы, он проинициализируется и все. Если кода 100000 строк, то да, тормознет на полсекунды сначала. Но лично я не вижу смысла js прятать, минификации достаточно вполне. Просто обычный код без комментов воспринимается хуже чем код с комментами например, а если там его минифицировать и переменные станут вида a,b,c,d,e, то уже можно будет потратить часы чтобы разобрать что имелось ввиду. Если код еще и обфусцировать, ну я думаю никому это не надо, пытаться украсть javascript, и что вообще такого гениального можно сделать, чтобы украсть захотелось, если приложение правильно сделано, то воровать будет нечего с клиенской машины
__________________
readOnly
Ответить с цитированием
  #8 (permalink)  
Старый 13.01.2012, 17:38
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от poorking Посмотреть сообщение
Цель - сделать непонятно, а не укрыть информацию.
чувак, я доту расшифровал в свое время, я знаю для чего нужны обфуксаторы, во вторых суть в том чтобы человек не смог модифицировать код и использовать под свои нужды. То есть МАКСИМАЛЬНО слить его со средой.
Ответить с цитированием
  #9 (permalink)  
Старый 13.01.2012, 17:54
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Livaanderiamarum,
Ну, и почему не хватает packer-а? Возьмите код из моего поста с примером его работы и попробуйте использовать его в своих целях, даже если вы приведете его к более божескому виду, то бишь декодируете и получите просто минифицированный вариант, все равно, что делает этот метод останется для вас загадкой. А уж тем более вы не сможете расширить его по той же причине. А в сырце по названию метода и переменных понятно что и для чего нужно. Предположим у вас фреймворк, который вы никому не даете, а используете только в своих проектах, который минифицируете GCC ADVANСED (даже паблик апи жмется), код которого настолько гениален и крут, что вы не хотите чтобы разработчики других фреймворков потырили у вас ваши гениальные решения, и кричали что это сделали они. Как можно украсть у вас какой то конкретный функционал, если не знать что красть?
__________________
readOnly
Ответить с цитированием
  #10 (permalink)  
Старый 13.01.2012, 18:01
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

С
Сообщение от poorking Посмотреть сообщение
GCC ADVANСED
даже обфускаторы никакие дополнительно не нужны, главное написать код, который после него работать будет
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
посоветуйте книгу новичку-чайнику stivman Общие вопросы Javascript 17 30.01.2016 03:02
Посоветуйте самоучитель или обучающий сайт или видео курсы Seva1986 (X)HTML/CSS 14 26.01.2012 22:03
Посоветуйте годную оболочку под канву Livaanderiamarum Общие вопросы Javascript 3 15.01.2012 23:22
Посоветуйте книгу по Ext Core, плиз stanand ExtJS 2 01.08.2011 02:01
Посоветуйте учебник по Javascript в текстовом формате kpripper Учебные материалы 4 02.04.2011 22:24