只是一个简易的 Python 脚本

Android 中使用 Proguard 进行混淆后,代码中的类名、方法名、变量名会变成诸如 a b c 这样的字符。

其实我们可以指定混淆后使用哪些字符代替显示,也就是在 proguard-rules.pro 中可以这样配置:

-obfuscationdictionary 字典文件
-classobfuscationdictionary 字典文件
-packageobfuscationdictionary 字典文件

而这里的字典文件就是一个类似于这样的文本文件:

#混淆字典

go
O1
VU
VN
0f
vV
HT
AU
Kd
SX

上面的字典中的字符,是从大小写字母以及数字中随机抽取的。如果你也有这样的需求,你可以使用我的 Python 脚本:

import string
import random


def rand_string(length):
    return ''.join(random.choice(
        string.ascii_lowercase + string.ascii_uppercase + string.digits)
        for i in range(length)
    )


if __name__ == '__main__':
    FILE = open("proguard-dictionary.txt", 'w')
    WORD_LINES = 40
    FILE.write("#proguard dictionary\n\n")
    for i in range(1, WORD_LINES):
        FILE.write(rand_string(2)+"\n")
    FILE.close()

希望你使用愉快 🙂