Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обфускация кода (https://javascript.ru/forum/misc/39084-obfuskaciya-koda.html)

Megatron13 14.06.2013 20:39

Обфускация кода
 
Всем привет! Нужно обфусцировать коротенький код так, чтобы даже все надписи были были зашифрованы (например url).
Я нашел статью на хабре про такие обфускаторы. Вот она.
Далее, я выбрал себе обфускатор из предложенных. Вот этот.
И я столкнулся с проблемой - я не понимаю как заставить работать код оттуда.
Вот просто - не работает. Делал по всякому. Очевидно, я что-то не понимаю. Объясните пожалуйста, как запустить обфусцированный там код.

Megatron13 14.06.2013 23:32

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

nerv_ 15.06.2013 00:33

видимо дальше первого абзаца не дочитали. Ваш код расшифрует http://jsbeautifier.org/

Megatron13 15.06.2013 02:59

Цитата:

Сообщение от nerv_ (Сообщение 256443)
видимо дальше первого абзаца не дочитали. Ваш код расшифрует http://jsbeautifier.org/

прочитал все, кроме первого абзаца. но я нашел выход из положения.
1 http://obfuscatorjavascript.com/?lang=ru
2 http://www.daftlogic.com/projects-on...obfuscator.htm
3 http://www.javascriptobfuscator.com/

на выходе из этой цепочки получается код
1) в котором исковерканы слова и url'ы, так что в коде их не прочитать
2) который не деобуфсцируется с помощью http://jsbeautifier.org/

alextwin 21.08.2015 16:47

Проблема бесплатных обфускаторов:
1) они дают не полиморфный код
2) их активно юзают для криптования редиректа дорвеев.

Из этого следует, что есть риск попадания ваших сайтов под бан поисковиков, потому что часть обфусцированного кода совпала с той, что использовали для прятанья дорвеев.

Так что, если делаете белый сайт и планируете вкладывать в него время и деньги, для защиты JS скриптов лучше купить нормальный проверенный криптор-обфускатор типа такого http://jscrypt.in

Платные обфускаторы обычно выдают полиморфный код (хотя это лучше уточнять у службы поддержки) и защита от автораспаковщиков гораздо выше бесплатных online сервисов.

MallSerg 22.08.2015 01:25

И чем он нормальный тем что использует setTimeout вместо eval ?
вся суть этой обфускации в паре строк
var BAZE_NUM = 36;
  for (; i < DataArray  ["length"];i+= 2) {
    codeString += String["fromCharCode"]  (  parseInt  (  DataArray["substr"](i, 2), BAZE_NUM ));
  }
 setTimeout(codeString ,1);

Только похоже исходный скрипт засунут в функцию это поломает области видимости =(.
В общем на беглый взгляд типичнейший обфускатор.

alextwin 27.08.2015 16:55

Это только один уровень защиты, самый верхний и простой для защиты от ложных срабатываний анитивирусов. А там дальше еще слои защиты. Т.е. взять codeString и вывести в консоль или куда еще и читать не получится, код будет обфусцированный.


Часовой пояс GMT +3, время: 19:58.