Конструктор EncodedCommand PowerShell
Кодируйте скрипты PowerShell в формат -EncodedCommand или декодируйте существующие закодированные команды обратно в исходные скрипты. Выбирайте между вариантами «стандартный UTF16LE», «сжатие Gzip+Base64» и «чистый Base64» со сравнением размеров рядом. Переключайтесь между режимами кодирования и декодирования, копируйте готовые команды PowerShell и анализируйте закодированные полезные нагрузки — всё бесплатно, приватно и без регистрации.
Encode PowerShell scripts into -EncodedCommand format or decode existing encoded commands. Choose from Standard UTF16LE, Gzip+Base64 compression, or Plain Base64 encoding variants. Compare sizes, copy ready-to-use commands, and decode payloads back to their original scripts. All browser-local, no signup required.
Paste a PowerShell script above and click Encode to encode it into -EncodedCommand format. Choose from Standard UTF16LE, Gzip+Base64, or Plain Base64 encoding variants. Each variant shows the full PowerShell command with size comparison. Click an example to get started.
Зачем использовать наш Конструктор EncodedCommand PowerShell?
- Мгновенное кодирование PowerShell: кодируйте любой скрипт PowerShell в формат -EncodedCommand моментально. Поддерживаются UTF16LE (стандартный формат PowerShell), сжатие Gzip+Base64 и чистое Base64. Вставьте скрипт, выберите вариант и получите готовую к выполнению команду.
- Безопасное и приватное кодирование: всё кодирование скриптов PowerShell происходит целиком в браузере. Ваш код PowerShell, закодированные команды и декодированные результаты никогда не покидают устройство. Никаких данных на сервер, никакого отслеживания и никакой регистрации — полная приватность всей вашей работы по обфускации скриптов PowerShell.
- Конструктор команд PowerShell онлайн — без установки: пользуйтесь конструктором прямо в любом современном браузере без загрузок, приложений и плагинов. Он включает несколько вариантов кодирования, режим декодирования для обратного преобразования команд, сравнение размеров форматов и копирование в один клик для всех вариантов.
- 3 варианта кодирования с анализом размера: поддерживается стандартный UTF16LE для прямого использования с -EncodedCommand, Gzip+Base64 для сжатых нагрузок минимального размера и чистый Base64 для базовой обфускации. Сравнение рядом с подсчётом символов, анализом размера и рекомендацией лучшего варианта.
Что такое -EncodedCommand в PowerShell?
-EncodedCommand в PowerShell (также известный как -Enc или -EC) — параметр, принимающий строку в кодировке Base64, которая представляет скрипт PowerShell в кодировке UTF-16LE. Вместо команды открытым текстом вы передаёте длинную строку Base64, которую PowerShell декодирует во время выполнения. Команда powershell -EncodedCommand SQBkAE8AbgBl... эквивалентна powershell -Command «I dO nE...», но полностью скрывает реальное содержимое скрипта от случайного просмотра. Поэтому это популярная техника обфускации команд PowerShell — как в легитимных скриптах развёртывания, так и во вредоносных нагрузках.
Наш Конструктор EncodedCommand PowerShell создаёт 3 варианта кодирования для любого скрипта PowerShell. Каждый вариант — валидная команда PowerShell, дающая тот же результат скрипта. Сравнивайте размеры кодированных строк, декодируйте существующие команды и копируйте подходящий вариант. Вся обработка выполняется локально в браузере, без отправки данных на сервер.
Как работает наш Конструктор EncodedCommand PowerShell
- 1. Введите скрипт PowerShell: наберите или вставьте в поле ввода скрипт PowerShell, который хотите закодировать. Инструмент автоматически определяет, является ли ввод скриптом для кодирования или закодированной командой для декодирования. Есть примеры скриптов, демонстрирующие разные варианты кодирования в действии.
- 2. Выберите вариант кодирования: выберите один из 3 вариантов на карточках методов. Стандартный UTF16LE создаёт каноническую строку, совместимую с -EncodedCommand. Gzip+Base64 сжимает скрипт перед кодированием для меньших нагрузок. Чистый Base64 даёт базовое кодирование без специфичного для PowerShell форматирования. Каждая карточка показывает сгенерированную команду со сравнением размера с исходной.
- 3. Скопируйте и используйте: нажмите «Копировать» рядом с любым закодированным вариантом, чтобы скопировать полную команду PowerShell в буфер обмена. Каждый вариант отображается как готовая командная строка PowerShell с анализом размера. Также можно вставить существующую строку EncodedCommand, чтобы декодировать её обратно в исходный скрипт.
Разбор вариантов кодирования
- Стандартный UTF16LE: официальный формат PowerShell -EncodedCommand. Скрипт преобразуется в байты UTF-16LE, затем кодируется в Base64. PowerShell декодирует это нативно с помощью [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($encoded)). Чаще всего используется и в легитимных скриптах развёртывания, и в малвари.
- Gzip + Base64: скрипт сначала сжимается через Gzip (deflate), затем кодируется в Base64. Это даёт минимальный размер нагрузки — часто на 60-80 % меньше, чем UTF16LE, для больших скриптов. Требует распаковки в PowerShell во время выполнения через System.IO.Compression.GzipStream. Идеально для сред с ограничением по размеру, например для нагрузок внедрения команд.
- Чистый Base64: скрипт кодируется стандартным Base64 без конвертации в UTF16LE. Самый простой вариант кодирования. PowerShell декодирует его с помощью [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($encoded)). Лучший выбор для простой обфускации, когда совместимость с -EncodedCommand не требуется.
Приватность, безопасность и доступность
Конструктор EncodedCommand PowerShell на 100 % бесплатный и без регистрации. Всё кодирование и декодирование выполняется локально в вашем браузере — ваш скрипт PowerShell и закодированный результат никогда не покидают устройство. Нет ограничений и лимитов использования. Инструмент поддерживает 3 варианта кодирования со сравнением рядом, подсчётом символов и статистикой размера, режим декодирования существующих строк EncodedCommand и готовые примеры. Пользуйтесь им столько раз, сколько нужно, для исследований в области безопасности, разработки или обучения.
Часто задаваемые вопросы
-EncodedCommand в PowerShell (также -Enc или -EC) — это параметр командной строки, принимающий строку в кодировке Base64, которая представляет команды PowerShell в кодировке UTF-16LE. Вместо команды открытым текстом, которую любой может прочитать в списках процессов или логах, вы передаёте длинную строку Base64, которую PowerShell декодирует внутри перед выполнением. Это скрывает содержимое скрипта от случайного просмотра и снимает проблемы со спецсимволами в аргументах командной строки.
Инструмент поддерживает 3 варианта: стандартное кодирование UTF16LE (официальный формат -EncodedCommand с UTF-16LE + Base64), сжатие Gzip + Base64 (сжимает скрипт через Gzip перед кодированием Base64, давая нагрузку на 60-80 % меньше) и чистый Base64 (простое кодирование Base64 без конвертации в UTF16LE для базовой обфускации). Каждый вариант включает команду PowerShell для его вызова.
Да, в инструменте есть режим декодирования. Вставьте существующую строку PowerShell EncodedCommand (или любую полезную нагрузку PowerShell в Base64) в поле ввода, и инструмент автоматически определит, закодирована она в UTF16LE или в чистом Base64, и декодирует её обратно в исходный скрипт. Это полезно для анализа закодированных команд, найденных в исследованиях безопасности или данных о угрозах.
Gzip + Base64 стабильно даёт самую маленькую нагрузку — обычно на 60-80 % меньше, чем кодирование UTF16LE. Например, скрипт PowerShell размером 1 КБ в формате UTF16LE весит около 2 КБ, а с Gzip+Base64 — всего 500-700 байт. Однако Gzip+Base64 требует PowerShell 3.0+ из-за сборки System.IO.Compression. Стандартный UTF16LE наиболее совместим и работает во всех версиях PowerShell.
Современные EDR и антивирусы способны обнаруживать использование -EncodedCommand через мониторинг командной строки процессов, поведенческий анализ и модели машинного обучения, обученные на шаблонах закодированных нагрузок. Кодирование обходит простую строковую детекцию, но не гарантирует защиты от продвинутых продуктов безопасности. Сочетание кодирования с дополнительными техниками обфускации обеспечивает эшелонированную защиту.
Да, -EncodedCommand работает одинаково и в Windows PowerShell (powershell.exe), и в PowerShell Core 7+ (pwsh.exe). Формат кодирования тот же — UTF16LE + Base64. PowerShell 7 также поддерживает параметр -EncodedCommand для кроссплатформенной работы в Linux и macOS.
Разумеется. Конструктор EncodedCommand PowerShell работает целиком в вашем браузере. Ваши скрипты PowerShell, закодированные команды и декодированные результаты никогда не отправляются на сервер, не сохраняются в базе данных и никак не отслеживаются. Вся обработка идёт локально на вашем устройстве с помощью клиентского JavaScript. Без регистрации, без сбора данных, без аналитики.
Да — на 100 % бесплатный: без регистрации, без аккаунта и без ограничений использования. Кодируйте столько скриптов PowerShell, сколько нужно, сколько угодно раз. Все 3 варианта кодирования, режим декодирования, сравнение размеров и копирование доступны без ограничений. Без премиум-тарифов, скрытых платежей и каких-либо лимитов.