首页功能指南工具开始使用价格字典博客反馈English

ProGuard 混淆字典

用于 -obfuscationdictionary-classobfuscationdictionary-packageobfuscationdictionary 的免费预设字典。所有字符都已验证为合法 Java 标识符起始字符。

字典分类字符数3 字符组合数
Homoglyph
跨脚本视觉相似字符
视觉25516,581,375下载
Greek
希腊字母和扩展形式
脚本1221,815,848下载
Cyrillic
西里尔基础和扩展字符
脚本29625,934,336下载
Latin Extended
变音符号、IPA 和拉丁扩展字符
脚本494120,553,784下载
Hebrew + Arabic
希伯来语、阿拉伯语和展示形式
脚本42375,686,967下载
East Asian
CJK 部首、片假名、平假名和半角字符
脚本24614,886,936下载
Modifier & Tone
修饰字母、声调符号、上标和下标
视觉24414,526,784下载
Indigenous Scripts
切罗基、格鲁吉亚、亚美尼亚、泰语、老挝语等
脚本1,1461,505,060,136下载
Encoding Chaos
在 GBK、Big5、Shift-JIS、EUC-KR 中显示差异明显
编码575190,109,375下载
Minimal Confusable
每个 ASCII 字母选择一个最佳替代字符
轻量52140,608下载
Ultimate
合并全部脚本,提供最大字符集
合集3,05628,540,399,616下载

如何使用

下载字典文件后放到 Android 项目中,例如和 proguard-rules.pro 放在一起,然后在 ProGuard 配置中添加对应指令:

proguard-rules.pro
# 应用混淆字典
-obfuscationdictionary proguard-dic-homoglyph.txt
-classobfuscationdictionary proguard-dic-homoglyph.txt
-packageobfuscationdictionary proguard-dic-homoglyph.txt

# 也可以使用 Encoding Chaos 制造跨编码显示差异
-obfuscationdictionary proguard-dic-encoding-chaos.txt

也可以在 ADB Pro 插件的 R8 Assistant → Dictionary 标签页中直接下载、管理并应用这些字典。


关于这些字典

每个字典都包含通过 Character.isJavaIdentifierStart() 校验的 Unicode 字符。这些字符利用不同书写系统之间的视觉相似性,也就是 homoglyph,或者利用同一 UTF-8 字节在不同系统编码下显示差异明显的特性。

例如,Homoglyph 字典包含看起来像拉丁字母的希腊和西里尔字符,比如希腊 alpha α 与拉丁 aEncoding Chaos 字典则选择在 GBK、Big5 或 Shift-JIS 环境中可能被解释成完全不同字符的内容。

全部 11 个字典都是开放且免费使用的,即使不安装 ADB Pro 插件也可以直接下载。

推荐用法

自动化管理混淆字典

ADB Pro 可以在 IDE 内直接下载、应用和管理混淆字典,不需要手动复制和维护文件路径。

获取 ADB Pro了解 R8 Assistant