Перейти до вмісту

Обфускатор JavaScript

Перетворіть вихідний код JavaScript на кодований шістнадцятковим eval(unescape(...)) фрагмент, який приховує код при швидкому перегляді.

Введення
Вихід

Обфускатор JavaScript

Вставте вихідний код JavaScript і цей інструмент перепише його як один шістнадцятково-екранований рядок, який перезібирається та виконується з eval(unescape('...')). Це класичний трюк "базового запутування": кожний символ вашого коду стає послідовністю %XX (або %uXXXX для символів поза першими 256 кодовими точками), тому вихідний код не читається з першого погляду — немає імен змінних, немає рядкових літералів, немає видимих коментарів.

За замовчуванням вихід загорнуто в самовиконуючу функцію, (function(){eval(unescape('...'))})();, тому ви можете помістити результат прямо в тег <script> або в інший файл і він запуститься негайно — точно як оригінал. Вимкніть "Обернути в самовиконуючу функцію", якщо ви хочете просто eval(unescape('...')); оператор, наприклад, щоб вбудувати його в функцію, яку ви вже контролюєте.

Це запутування, а не шифрування або безпека: unescape() і eval() видні на виході, а декодування шістнадцяткового рядка назад до вихідного коду — це одна операція для кожного, хто дивиться — консоль браузера робить це так швидко, як ви можете вставити. Використовуйте це як спосіб запобігти випадковому копіюванню або приховати фрагмент від швидкого перегляду джерела, а не як спосіб захисту секретів, ключів API або будь-чого, що насправді повинно залишатися конфіденційним.

Все працює локально у вашому браузері. Код, який ви вставляєте, ніколи не завантажується та не надсилається нікуди, тому безпечно запутувати власні або невиконані скрипти. Лічильник під виходом показує, скільки символів надійшло, скільки вийшло і скільки байтів було закодовано шістнадцятковим кодом, тому ви можете побачити збільшення розміру перед копіюванням або завантаженням результату.

FAQ

Це справжня безпека або код можна розшифрувати?
Це не безпека. Будь-хто може запустити unescape() на рядку всередині виходу і отримати свій оригінальний вихідний код за один крок — це лише приховує код від швидкого погляду, не від того, хто насправді шукає.
Чи буде запутаний код поводитися точно як оригінал?
Так. eval(unescape('...')) відновлює та виконує точний оригінальний вихідний код, символ за символом, включаючи пробіли, розриви рядків та вміст рядків.
Що робить "Обернути в самовиконуючу функцію"?
Вона обгортає виклик eval(unescape('...')) у (function(){...})(); щоб результат виконувався негайно як окремий оператор. Вимкніть його, якщо ви хочете помістити виклик eval(unescape('...'); всередину своєї власної функції або області дії.
Це працює на мініфікованому коді?
Так. Ви можете запутати будь-яку текст JavaScript, мініфікований чи ні — інструмент трактує вхід як простий текст та кодує його шістнадцятково символ за символом, тому мініфікація першою (з мініфікатором CSS/JS) лише скорочує закодований вихід.
Мій вихідний код завантажується кудись?
Ні. Обфускатор працює повністю у вашому браузері — код, який ви вставляєте, ніколи не покидає ваш пристрій.