Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ditto — Запутывает скрипты PowerShell и JavaScript с помощью парсинга на основе tree-sitter и множества настраиваемых профилей имитации для скрытности, размера и сложности реверс-инжиниринга. | Kitploit
Инструменты/GitHubGitHub/airbus-cert/ditto
Анализ КодаОбратная инженерияСкриптинг и автоматизацияАнализ вредоносных программРазработка Полезной Нагрузки
GitHubairbus-cert/ditto

ditto

Запутывает скрипты PowerShell и JavaScript с помощью парсинга на основе tree-sitter и множества настраиваемых профилей имитации для скрытности, размера и сложности реверс-инжиниринга.

Репозиторий
494981 месяц назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

ditto


Обфускатор PowerShell

Ditto — это обфускатор PowerShell и JavaScript, основанный на tree-sitter-powershell и tree-sitter-javascript.

Использование из командной строки

Базовая структура команды

ditto-cli [options]

Аргументы и опции CLI

Короткая опцияДлинная опцияОписание
-h--helpПоказать справочную информацию и выйти.
-v--versionПоказать информацию о версии и выйти.
-p --path Путь к файлу скрипта для обработки.
-i --impostor Профиль impostor для обфускации (без учёта регистра).
-L--listВывести список всех доступных профилей impostor.
-t--timeПоказать время вычислений, затраченное на процесс обфускации.
-d --debug-level Уровень отладки. Варианты: off, error, warn, info, debug, trace (по умолчанию: info).
-q--quietВыводить только итоговый обфусцированный скрипт, подавляя все остальные логи.

Поддерживаемые языки и Impostor'ы

Каждый язык оснащён уникальными Impostor'ами в тематике покемонов. Impostor — это именованный рецепт, который объединяет несколько проходов обфускации. Каждый из них отдаёт предпочтение разному набору техник, поэтому один и тот же скрипт, обфусцированный двумя разными impostor'ами, выглядит совершенно по-разному. Выберите того, чей компромисс (скрытность, размер, читаемость, сложность реверса) подходит вашим потребностям.

PowerShell

ImpostorЧто он делает
PikachuУниверсальный маскот. Преобразует литералы в статические строки, переписывает командлеты и члены типов как строки, кодирует строки в Base64, разбивает целые числа с помощью встроенного modulo/hexlify и случайным образом переименовывает переменные. Сбалансированный вариант по умолчанию.
BulbasaurНачальный уровень. Переписывание строк/командлетов/членов, кодирование Base64, случайные имена переменных и целые числа, пересобираемые через трюк с обратным modulo. Лёгкий и относительно читаемый.
IvysaurЭволюция Bulbasaur'а. Тот же базовый рецепт, но переменные названы в честь глаголов PowerShell (${Set-...}, ${Add-...}, ${Remove-...}), чтобы сливаться с легитимным кодом, плюс встроенный hexlify и целые числа с обратным modulo.
CharizardТяжёлая артиллерия. Статические строки, Base64, рандомизированные встроенные modulo/hexlify, член-как-строка, целые числа с обратным modulo, а также рандомизированные имена переменных и типов, объединённые для агрессивной обфускации.
AlakazamМатематический мозг. Заранее вычисляет каждое логическое значение и целое число в арифметические выражения, разбивает выражения вызовов и превращает командлеты, члены и типы в строки. Создаёт плотный, насыщенный выражениями вывод.
OnixСпециалист по массивам. Сохраняет токены в константных массивах, перемешивает их, применяет hexlify через foreach и пересобирает каждое целое число через арифметику XOR/add, вычисляемую во время выполнения.
EeveeПереименовщик. Случайно переименовывает все функции, параметры и переменные, переписывает командлеты/члены как строки и присваивает имена в стиле UUID и в стиле глаголов с маскировкой подстановочными знаками. Сосредоточен на обфускации идентификаторов.
DittoМимик — мета-impostor. Вместо преобразования всего файла он сканирует исходный код на наличие комментариев # ditto(<engine>) и применяет указанный движок только к оператору, который непосредственно следует за комментарием. Это позволяет смешивать impostor'ов в одном скрипте. См. Выборочная обфускация с Ditto.

JavaScript

ImpostorЧто он делает
TinkatuffХорошо сбалансированный вариант по умолчанию. Переписывает обращения к членам как подстрочные индексы, иногда преобразует выражения в switch/if-else, превращает числа в математические выражения, а также кодирует/разбивает/экранирует строки и идентификаторы. Хороший баланс покрытия и размера.
UnownШифр-символ. Кодирует числа, строки, логические значения, специальные значения и объекты по умолчанию с помощью трюков в стиле JSFuck и переименовывает идентификаторы, используя только $ и _. Вывод почти нечитаем.
Metagross«Погоди, тут всё числа?» Превращает строки в fromCharCode, переписывает каждое число как выражение и переименовывает все идентификаторы в имена, похожие на числа. Вывод состоит почти полностью из цифр.
WailordКит. Создаёт огромный вывод (средний коэффициент расширения ~4643x). Используйте только на маленьких скриптах — он нагромождает идентификаторы в стиле пузырей, разбиение строк, числа JSFuck и преобразования массивов.
ClefableИгрок. Случайным образом выбирает среди всех доступных проходов, поэтому вы получаете сравнительно «маленький» вывод, который при этом несёт все виды защиты. Реверсеру придётся иметь дело с каждым возможным проходом. Поскольку проходы выбираются случайно и могут конфликтовать, возможно, потребуется запустить его несколько раз.
CofagrigusГробница. Переименовывает идентификаторы именами в виде египетских иероглифов, кодирует строки, переписывает числа как выражения и применяет «проклятые» преобразования строк/чисел. Жутко, плотно и трудночитаемо.

Выведите список всех доступных impostor'ов прямо из вашей оболочки:

ditto-cli --list

Не стесняйтесь добавлять своих! А затем вы можете вызвать того, кого хотите.

Примеры

Преобразование PowerShell (Impostor Ivysaur)

Исходный скрипт PowerShell:

[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed', 'NonPublic,Static').SetValue($null, $true)

Команда обфускации:

ditto-cli --path test.ps1 --impostor ivysaur

Обфусцированный вывод:

Скачать инструмент