Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ditto — 混淆PowerShell和JavaScript脚本,利用基于tree-sitter的解析,并提供多种可配置的伪装配置文件,以实现隐蔽性、体积控制和逆向难度调整。 | Kitploit
工具/GitHubGitHub/airbus-cert/ditto
代码分析逆向工程脚本与自动化恶意软件分析Payload 开发
GitHubairbus-cert/ditto

ditto

混淆PowerShell和JavaScript脚本,利用基于tree-sitter的解析,并提供多种可配置的伪装配置文件,以实现隐蔽性、体积控制和逆向难度调整。

查看仓库
494981个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ditto


PowerShell 混淆器

Ditto 是一款基于 tree-sitter-powershell 和 tree-sitter-javascript 的 PowerShell 和 JavaScript 混淆器。

命令行用法

基本命令结构

ditto-cli [选项]

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 侧重不同的技术组合,因此同一脚本经两个不同 Impostor 混淆后的结果截然不同。请选择在隐蔽性、体积、可读性、逆向难度等方面最符合您需求的 Impostor。

PowerShell

Impostor功能说明
Pikachu全能型代表。将字面量转换为静态字符串,将 cmdlet 和类型成员重写为字符串,对字符串进行 Base64 编码,使用内联取模/十六进制化拆分整数,并随机重命名变量。均衡的默认选择。
Bulbasaur入门级新手选择。字符串/cmdlet/成员重写、Base64 编码、随机变量名,以及通过反向取模技巧重建整数。轻量且可读性尚可。
IvysaurBulbasaur 的进化形态。基础配方相同,但变量以 PowerShell 动词命名(${Set-...}、${Add-...}、${Remove-...})以融入合法代码,并加入内联十六进制化和取模反转整数。
Charizard重量级选手。静态字符串、Base64、随机内联取模/十六进制化、成员转字符串、取模反转整数,以及随机变量名和类型叠加,实现激进混淆。
Alakazam数学大脑。将每个布尔值和整数预计算为算术表达式,拆分调用表达式,并将 cmdlet、成员和类型转换为字符串。生成密集、表达式丰富的输出。
Onix数组专家。将令牌存储在常量数组中,进行洗牌,通过 foreach 进行十六进制化,并通过运行时求值的 XOR/加法算术重建每个整数。
Eevee重命名专家。随机重命名所有函数、参数和变量,将 cmdlet/成员重写为字符串,并分配 UUID 风格和动词风格的名称并带有通配符掩码。专注于标识符混淆。
Ditto模仿者——一种元 Impostor。它不是转换整个文件,而是扫描源代码中的 # ditto(<engine>) 注释,并将指定的引擎仅应用于紧随注释之后的语句。这使您可以在单个脚本中混合使用多种 Impostor。请参阅 使用 Ditto 进行选择性混淆。

JavaScript

Impostor功能说明
Tinkatuff全面均衡的默认选择。将成员访问重写为下标形式,偶尔将表达式转换为 switch/if-else,将数字转换为数学表达式,并对字符串和标识符进行编码/拆分/转义。覆盖范围与体积之间取得良好平衡。
Unown符号密码。使用 JSFuck 风格的技巧对数字、字符串、布尔值、特殊值和默认对象进行编码,并仅使用 $ 和 _ 重命名标识符。输出几乎不可读。
Metagross“等等,全是数字?” 将字符串转换为 fromCharCode,将每个数字重写为表达式,并将所有标识符重命名为类似数字的名称。输出几乎全是数字。
Wailord鲸鱼。产生巨大的输出(平均膨胀率约 4643 倍)。仅适用于小型脚本——它叠加了气泡命名标识符、字符串拆分、JSFuck 数字和数组转换。
Clefable赌徒。随机从所有可用通道中选择,因此您会得到一个相对“较小”但仍包含各种保护的输出。逆向者必须处理所有可能的通道。由于通道是随机选择的且可能相互干扰,您可能需要运行多次。
Cofagrigus坟墓。使用埃及象形文字名称重命名标识符,编码字符串,将数字重写为表达式,并应用字符串/数字“诅咒”转换。诡异、密集且难以阅读。

直接从您的 shell 中列出所有可用的 Impostor:

ditto-cli --list

欢迎添加您自己的 Impostor!然后您就可以调用您想要的那个。

示例

PowerShell 转换(Ivysaur Impostor)

原始 PowerShell 脚本:

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

混淆命令:

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

混淆后输出:

下载工具