разбить javascript однострочный код на читаемый код - PullRequest
4 голосов
/ 30 сентября 2011

Я видел, как люди помещали весь свой JS-код в одну строку.(что-то вроде этого: http://www.drasticdata.nl/DrasticTreemap/Examples/js/swfobject.js) Я знаю, что они пытаются защитить свой IP. Но я хочу прочитать код и изучить его.

Есть ли способ сделать этот однострочный код читабельнымНапример, разбить его на несколько строк

1006 * Спасибо.

Ответы [ 6 ]

13 голосов
/ 30 сентября 2011

Быстрый поиск в Google по запросу "JavaScript de-obfuscator" вернет вам несколько сетевых анализаторов, которые форматируют обфусцированный код во что-то отформатированное и читаемое.

Следующее работает очень хорошо:

http://jsbeautifier.org/

Нет способа переименовать имена переменных в их, когда-то семантические, формы.Что-то, что вам придется пройти ...

Несколько терминов, чтобы отметить минимизация и обфускация :

Минификация (Википедия)

Минификация (также минимизация или минимизация) в языках программирования и особенно в JavaScript являетсяпроцесс удаления всех ненужных символов из исходного кода, без изменения его функциональности.

Запутывание (Википедия)

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

Ссылки

http://en.wikipedia.org/wiki/Obfuscated_code

http://en.wikipedia.org/wiki/Minification_(programming)

1 голос
/ 30 сентября 2011

Если вы используете Chrome, на панели сценариев инструментов разработчика есть кнопка Pretty Print. Вероятно, это гораздо проще, чем постоянно заходить в веб-приложение.

http://cristian -radulescu.ro / статьи / довольно-печать на JavaScript с-Google-chrome.html

1 голос
/ 30 сентября 2011

Вы можете вставить источник в beautifier Javascript, но у вас все еще есть проблема с именами переменных, которые не имеют смысла.

Учитывая, что источником является SWFObject, это скрипт с открытым исходным кодом от Google, и ссылка на его домашнюю страницу проекта находится в источнике, который вы разместили: http://code.google.com/p/swfobject/

Вы можете скачать необфусцированный код по этой ссылке.

1 голос
/ 30 сентября 2011

Практически для любого языка, просто Google для "beautifier".Они будут обрабатывать все отступы и т. Д., Но очевидно, что с любыми укороченными переменными или запутыванием трудно справиться.

1 голос
/ 30 сентября 2011

Вы ищете http://jsbeautifier.org/

1 голос
/ 30 сентября 2011

например У этого инструмента есть опция «Pretty Print»: http://closure -compiler.appspot.com / home . У некоторых IDE (затмение) это тоже есть.

...