Файли та сторінки

Багатошаровий декодер

Працює локальноНовий

Сам інструмент доступний англійською мовою; на цій сторінці наведено пояснення вашою мовою.

Використовуйте Багатошаровий декодер

Як це працює

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

Програма працює повністю у вашому браузері: жодні введені вами дані не завантажуються.

Як користуватися Багатошаровий декодер

  1. Вставте закодований текст. Вставте рядок у поле Encoded text (закодований текст): блок Base64 зі скрипту, довгий hex-рядок, текст з URL-кодуванням або список String.fromCharCode.
  2. Декодуйте. Натисніть Decode layers (декодувати шари) або Ctrl+Enter. Кожен розпізнаний шар знімається по черзі, до 12.
  3. Прочитайте ланцюжок. Заголовок перелічує шари по порядку. Кожен крок показує метод, розмір до і після та попередній перегляд.
  4. Використайте результат. Скопіюйте декодований текст, прочитайте Indicators in the result (індикатори в результаті) або скористайтеся Send to для HTML Attachment Analyzer, Link Unwrapper, IOC Converter чи URL Defanger.
  5. Втрутьтеся вручну. Якщо шар пропущено, виберіть метод у Decode as і застосуйте його. Undo last layer (скасувати останній шар) повертає на крок назад.

Приклад

URL-кодований Base64 від gzip

Вхідні дані
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
Вихідні дані (зафіксовано 2026-10-20)
3 layers: URL percent-encoding → Base64 → gzip

No further encoding recognised.

1
URL percent-encoding
1 escape · 130 → 128 bytes
H4sIAAAAAAACA7MpTi7KLCixK8/MS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
2
Base64
decodes to gzip · 128 → 96 bytes
00000000  1f 8b 08 00 00 00 00 00  02 03 b3 29 4e 2e ca 2c  |...........)N..,|
00000010  28 b1 2b cf cc 4b c9 2f  d7 cb c9 4f 4e 2c c9 cc  |(.+..K./...ON,..|
00000020  cf d3 cb 28 4a 4d 53 b0  55 50 ca 28 29 29 28 b6  |...(JMS.UP.())(.|
… 48 more bytes
3
gzip
96 → 82 bytes
<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>
Result

Text, 82 bytes.

<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>

Indicators in the result (1)
URL
hxxps://example[.]com/verify?session=7f3a
Copy indicators (raw)

Три шари: URL-кодування з відсотками (%2F), Base64, що декодується в дані gzip, і сам gzip, у результаті чого залишається скрипт, який перенаправляє браузер на https://example.com/verify.

Що перевіряється

СигналЩо це означає
Ланцюжок шарівКодування по порядку, наприклад Hex → Base64. Кілька шарів навколо короткого URL чи команди зазвичай означають, що хтось хотів їх сховати.
Розмір на кожному кроціБайти на вході й виході кожного шару. Шар gzip або deflate, що сильно збільшується, — це звичайне розпакування.
Текст UTF-16LEДва байти на символ, типово для PowerShell -EncodedCommand. Декодована команда, що щось завантажує чи запускає, — тривожна ознака.
Двійковий результатЯкщо кінцевий результат не текст, показується hex-дамп перших 512 байтів із виявленим форматом. Скопіюйте його як hex або Base64; ніколи не запускайте.
Indicators in the resultURL, адреси електронної пошти та IPv4-адреси, знайдені в декодованому тексті, у знешкодженому (defanged) вигляді, з кнопкою, щоб скопіювати їх як є.
Повідомлення про зупинкуПодальше кодування не розпізнано, досягнуто ліміту в 12 шарів або крок повторив би попередній результат. На ліміті шарів може бути більше.
Параметр знешкодженняУвімкнено за замовчуванням: URL і адреси електронної пошти в результаті показуються знешкодженими. Copy завжди дає текст як є.
Параметр продовження декодуванняПісля ручного кроку Decode as декодування продовжується автоматично, якщо ви не знімете цю позначку.
Список Decode asBase64, URL-safe Base64, hex, URL-кодування з відсотками, HTML-сутності, escape-послідовності, коди символів, quoted-printable, gzip, zlib, raw deflate і UTF-16LE — для кроків, які автоматичний прохід пропускає.
Кнопки копіюванняCopy (копіювати) дає декодований текст як є. Для двійкового результату натомість є Copy as hex і Copy as Base64.

Ще кілька прикладів

Тестовий вектор RFC 4648

Вхідні дані
Zm9vYmFy
Результат

1 шар: Base64, 8 → 6 байтів. Результат — текст foobar, значення, опубліковане в RFC 4648.

Hex навколо Base64 навколо URL

Вхідні дані
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3d
Результат

2 шари: Hex → Base64 (88 → 44 → 31 байт). Результат — https://login.example.net/reset, показаний у знешкодженому вигляді й внесений до Indicators in the result.

Закодована команда PowerShell

Вхідні дані
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcA
Результат

2 шари: Base64 → текст UTF-16LE з приміткою, що це типово для PowerShell -EncodedCommand. Результат — Start-Process 'https://example.org/update', а URL внесено до індикаторів.

Часті запитання

Які кодування він розпізнає?

Base64 (стандартний і URL-safe, вирівнювання необов'язкове), hex у простому вигляді, з 0x, \x, через пробіли або двокрапки, URL-кодування з відсотками, HTML-сутності, escape-послідовності \x, \u, \u{…} і %u, списки String.fromCharCode, quoted-printable, gzip, zlib і raw deflate, а також текст UTF-16LE, як-от PowerShell -EncodedCommand. Виклики на кшталт atob('…') чи base64_decode('…') і data: URI теж розгортаються.

Чому він зупинився або залишив мій текст без змін?

Шар приймається лише тоді, коли його результат — читабельний текст, відомий формат файлу або потік, що чисто розпаковується, тож звичайні слова, які випадково є коректним Base64, лишаються без змін. Тому короткі чи незвичні кодування можна пропустити: скористайтеся Decode as (декодувати як), щоб застосувати метод вручну, і Undo (скасувати), щоб повернутися на крок назад. Декодер зупиняється після 12 шарів.

Чи виконується декодований вміст або надсилається кудись?

Ні. Декодування використовує звичайний JavaScript і DecompressionStream браузера; результат показується як текст або hex-дамп і ніколи не виконується, не відображається як сторінка й не завантажується.

Звідки беруться такі рядки?

Фішингові сторінки та вкладення ховають URL і код у Base64 або hex, сторінки ClickFix копіюють закодовані команди PowerShell у ваш буфер обміну, а листи надходять у quoted-printable. Вставте рядок сюди замість того, щоб його запускати.

Чи можна декодувати по одному шару?

Так. Зніміть позначку After a manual step, keep peeling automatically (після ручного кроку продовжувати автоматично), потім виберіть метод у Decode as і натисніть Apply to the current result (застосувати до поточного результату) для кожного кроку.

Скільки тексту можна вставити?

До 5 МБ. Результати, довші за 200 000 символів, на екрані скорочуються, але Copy дає повний текст.

Що таке quoted-printable і URL-кодування з відсотками?

Обидва записують байт як знак, за яким ідуть дві шістнадцяткові цифри. Quoted-printable походить із тіла листів, де =3D означає =. Кодування з відсотками походить з URL, де %2F означає /.

Пояснення термінів

Дослідження PhishDestroy