Перейти к содержимому
Aback Tools Logo

Деобфускатор имён переменных JavaScript

Анализируйте обфусцированные имена переменных, функций и классов в коде JavaScript и получайте осмысленные предложения имён на основе контекста использования. Вставьте код, просмотрите предложения с оценками уверенности, отредактируйте или примите их, создайте карту переименований и просмотрите деобфусцированный код — бесплатно, приватно и без регистрации.

JavaScript Variable Name Deobfuscator

Paste JavaScript code with obfuscated variable names (a, b, _0x, etc.) and get meaningful name suggestions based on usage context. Edit suggestions, build a rename mapping, and preview the deobfuscated code.

Live analysis — results update as you type

Detected Obfuscated Identifiers (15)

e×4High confidence
length
c) { var d = []; for (var e = 0; e < b.length; e++) { ... var d = []; for (var e = 0; e < b.length; e++) { var f ... for (var e = 0; e < b.length; e++) { var f = b[e]; if
i×4High confidence
length
a) { let r = []; for (let i = 0; i < data.length; i++) { ... let r = []; for (let i = 0; i < data.length; i++) { let ... (let i = 0; i < data.length; i++) { let v = data[i];
v×4High confidence
length
< data.length; i++) { let v = data[i]; if (v.status = ... let v = data[i]; if (v.status === 'active') { ... active') { r.push({ id: v.id, val: v.amount * 1.1 });
b×3High confidence
length
function a(b, c) { var d = []; for (va ... d = []; for (var e = 0; e < b.length; e++) { var f = b[ ... b.length; e++) { var f = b[e]; if (f > 10) { d
d×3Medium confidence
first
function a(b, c) { var d = []; for (var e = 0; e < b ... b[e]; if (f > 10) { d.push(f * 2); } } retu ... sh(f * 2); } } return d; } function _0x42(x, y) {
f×3High confidence
length
e < b.length; e++) { var f = b[e]; if (f > 10) { ... ) { var f = b[e]; if (f > 10) { d.push(f * 2); ... if (f > 10) { d.push(f * 2); } } return d; }
data×3Medium confidence
length
urn z * 1.5; } function proc(data) { let r = []; for (let i ... r = []; for (let i = 0; i < data.length; i++) { let v = da ... ta.length; i++) { let v = data[i]; if (v.status === 'act
r×3High confidence
id
function proc(data) { let r = []; for (let i = 0; i < d ... .status === 'active') { r.push({ id: v.id, val: v.amoun ... * 1.1 }); } } return r; }
x×2Medium confidence
first
return d; } function _0x42(x, y) { const z = x + y; re ... ion _0x42(x, y) { const z = x + y; return z * 1.5; } fun
y×2Medium confidence
first
eturn d; } function _0x42(x, y) { const z = x + y; retur ... _0x42(x, y) { const z = x + y; return z * 1.5; } functio
z×2Medium confidence
data
unction _0x42(x, y) { const z = x + y; return z * 1.5; } ... { const z = x + y; return z * 1.5; } function proc(data)
a×1Medium confidence
accumulator
function a(b, c) { var d = []; for (
c×1Medium confidence
config
function a(b, c) { var d = []; for (var e
_0x42×1Low confidence
hexString__0x
} } return d; } function _0x42(x, y) { const z = x + y;
id×1High confidence
id
== 'active') { r.push({ id: v.id, val: v.amount * 1.1 })

Manual Rename

→

Add custom mappings for variables the detector may have missed.

Privacy Guarantee

All analysis runs entirely in your browser. Your code never leaves your device — no uploads, no API calls, no tracking.

Возможности

  • Автообнаружение обфусцированных имён: сканирует код на короткие имена (a, b, i, j), идентификаторы с шестнадцатеричным префиксом (_0x...), переменные только из подчёркиваний и другие шаблоны, типичные для минифицированного и обфусцированного JavaScript.
  • Контекстные предложения имён: каждая найденная переменная анализируется в контексте использования — ближайшие ключевые слова вроде count, user, id, error и result определяют предложенное осмысленное имя и оценку уверенности.
  • Интерактивный процесс переименования: принимайте, редактируйте или заменяйте предложения для каждого идентификатора. Создайте полную таблицу карты переименований с парами оригинал → деобфусцированное имя без ручного поиска.
  • Предпросмотр деобфусцированного кода: после сопоставления переменных посмотрите код со всеми заменёнными именами. Скопируйте преобразованный код или скачайте карту в JSON.

Что такое деобфускация имён переменных?

Деобфускация имён переменных — это процесс замены коротких, бессмысленных или закодированных имён идентификаторов в коде JavaScript на осмысленные описательные имена, передающие их назначение. Обфусцированные имена вроде a, _0x42 или ____ заменяются предложениями вроде userCount, apiToken или resultData в зависимости от их использования.

Как работает деобфускатор

Инструмент разбирает ваш код JavaScript, чтобы извлечь все токены, похожие на идентификаторы. Он отбрасывает ключевые слова JavaScript, имена стандартной библиотеки и цепочки доступа к свойствам. Каждый оставшийся идентификатор оценивается по вероятности обфускации — короткая длина, шестнадцатеричные префиксы, шаблоны только из подчёркиваний и неописательные имена получают наивысшие баллы. Анализируется окно контекста вокруг каждого использования: ближайшие ключевые слова (например, «count» намекает на счётчик, «user» — на объект пользователя) определяют предлагаемую замену.

Уровни уверенности

Каждое предложение сопровождается оценкой уверенности: высокая, средняя или низкая. Высокая означает, что в окружающем контексте есть сильное однозначное совпадение по ключевому слову. Средняя означает частичное или косвенное совпадение. Низкая означает, что имя выглядит обфусцированным, но контекст даёт мало подсказок — такие предложения являются обоснованными догадками на основе распространённых соглашений.

Конфиденциальность и ограничения

Этот деобфускатор работает полностью в вашем браузере. Ваш код никогда не покидает устройство. Он рассчитан на анализ одного файла и лучше всего работает с автономным JavaScript. Для деобфускации профессионального уровня в нескольких файлах стоит использовать специализированные настольные инструменты вроде de4js или восстановление source map. Инструмент анализирует только имена идентификаторов и шаблоны использования — он не отслеживает состояние во время выполнения и потоки данных.

Часто задаваемые вопросы

Деобфускация имён переменных JavaScript заменяет короткие, бессмысленные или закодированные имена идентификаторов (например, a, b, _0x42f3) на описательные имена (например, userName, totalCount, apiResponse) в зависимости от того, как эти переменные используются в коде. Так обфусцированный код становится гораздо легче читать и понимать, не меняя его поведение.

Инструмент сканирует код на токены, похожие на идентификаторы, и отбрасывает ключевые слова JavaScript и имена стандартной библиотеки. Он помечает имена, которые очень короткие (1-2 символа), используют шестнадцатеричные шаблоны (_0x...), состоят только из подчёркиваний или содержат знаки доллара — всё это типично для минифицированного и обфусцированного JavaScript. Затем каждое совпадение анализируется в окружающем контексте для формирования осмысленного предложения.

Точность зависит от того, насколько информативен окружающий контекст кода. Когда переменная используется рядом с однозначными ключевыми словами вроде «count», «user» или «error», предложение помечается высокой уверенностью. В менее очевидных контекстах предложения оцениваются как средние или низкие. Всегда проверяйте предложения перед использованием: инструмент даёт отправную точку, а не гарантию правильности.

Да. Для каждого найденного идентификатора рядом с предложенным именем есть кнопка «Изменить». Нажмите её, чтобы ввести собственное имя, затем нажмите «Сохранить», чтобы добавить его в карту переименований. Так вы полностью контролируете результат деобфускации, пользуясь автоматическим анализом инструмента.

Да. После переименования таблица показывает все пары оригинал → деобфусцированное имя. Нажмите «Скачать JSON», чтобы сохранить карту в файл .json. Это удобно для документации, код-ревью или применения одного и того же переименования к нескольким файлам.

Нет. Весь анализ и переименование выполняются только в вашей сессии браузера. Предпросмотр деобфусцированного кода показывает, как выглядел бы код с применёнными картами, но ничего не записывается на диск и не передаётся наружу. Скопируйте преобразованный код вручную, если хотите его сохранить.

Абсолютно. Деобфускатор имён переменных JavaScript работает на 100 % в вашем браузере. Ваш код никогда не загружается на сервер, не хранится в базе данных и не передаётся по сети. Весь разбор, анализ и логика предложений выполняются локально на вашем устройстве, обеспечивая полную приватность и безопасность.

Да — 100 % бесплатно, без регистрации, аккаунта и ограничений на использование. Анализируйте сколько угодно фрагментов кода, переименовывайте сколько угодно переменных и скачивайте карты — бесплатно навсегда, без скрытых платежей и платных тарифов.