Бесплатные обфускаторы JavaScript?

Я ищу бесплатный обфускатор JavaScript. Компрессии будет достаточно? Какие инструменты вы бы порекомендовали? Конечно, мне не нужна армейская запутанность, мне нужен простой способ предотвратить кражу моего javascript детьми путем просмотра исходного кода или использования чего-то простого, например unescape().

Спасибо, Том.


person Tom    schedule 07.11.2008    source источник
comment
Или вы можете просто перестать беспокоиться о том, что люди украдут исходный код вашей веб-страницы. Либо ты хочешь этого там, либо нет. Почему вы пришли на веб-сайт, посвященный тому, чтобы помочь людям научиться кодировать, чтобы попросить помощи, чтобы люди не учились на вашем коде?   -  person Coderer    schedule 07.11.2008


Ответы (9)


Ваша проблема в том, что независимо от того, насколько сильно вы его сжимаете или скрываете, в конечном итоге браузер должен его интерпретировать. Лучшее, что вы можете сделать, это переименовать все переменные в бессмысленные случайные переменные и удалить все комментарии и пробелы.

Несколько хороших инструментов:

person Loki    schedule 07.11.2008
comment
Точно так же, как вы можете распознавать структуры и заменять их в рамках оптимизации кода, вы можете распознавать структуры и заменять их специально, чтобы сделать код более сложным для понимания. Его все еще можно сломать, он замедляет работу и использует больше оперативной памяти, но компании продают инструменты для этого. - person Louis Gerbarg; 07.11.2008
comment
Я думаю, что это не очень хорошее решение, вы можете деобфускировать код с помощью jsbeautifier.org. - person Afshin Mehrabani; 02.11.2012

Вы можете использовать /упаковщик/

http://dean.edwards.name/packer/

person Imran    schedule 08.11.2008
comment
Не работает. Вы можете просто деобфусцировать код с помощью jsbeautifier.org. - person Afshin Mehrabani; 02.11.2012
comment
Вы включили переменные Shrink и параметры кодирования Base62? - person Imran; 02.11.2012

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

Большинство обфускаторов в конце создают строки, представляющие код, а затем используют eval, это можно отменить простыми операторами предупреждения, в чем смысл?

person Alex Lehmann    schedule 07.09.2009

Если вам нужна простая обфускация и отличное сжатие, я могу порекомендовать YUI Compressor от Yahoo.

person Loris    schedule 07.11.2008

Проверьте Для тех, кто ищет - http://javascript-reference.info/javascript-obfuscators-review.htm — неплохой обзор обфускаторов JS

person Community    schedule 13.07.2009

Я также рекомендую YUI Compressor, он работает очень хорошо и может сжимать и запутывать, а также дает рекомендации по кодированию javascript.

person NBRed5    schedule 07.11.2008

Я тоже голосую за Пакера. Существуют онлайн-версии, автономные версии и даже консольная версия, которые я использую для автоматической упаковки своих javascripts при создании своих веб-приложений.

person Jeff Sheldon    schedule 13.11.2008
comment
может быть, ваш ответ больше о сжатии, чем обфускации? - person tomasb; 28.01.2015
comment
Мой ответ был более актуальным более 6 лет назад, когда он был опубликован. Может быть, сейчас не так много. Лучший вопрос: почему вы комментируете ответ 6-летней давности на закрытый вопрос? - person Jeff Sheldon; 28.01.2015

Попробуйте http://digua.sourceforge.net.

person Community    schedule 07.09.2009