All Projects → hqzxzwb → ProguardDictionaryGenerator

hqzxzwb / ProguardDictionaryGenerator

Licence: other
一种生成阅读极其困难的proguard字典的算法

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to ProguardDictionaryGenerator

ShieldAuto
🛡️ ShieldAuto is a Java based Gradle plugin to manage proguard config for release builds
Stars: ✭ 31 (-77.04%)
Mutual labels:  proguard
Reconstruct
ProGuard Deobfuscator
Stars: ✭ 79 (-41.48%)
Mutual labels:  proguard
raygun4android
Android crash reporting provider for Raygun
Stars: ✭ 19 (-85.93%)
Mutual labels:  proguard
kotlin-metadata-printer
Prints the Kotlin metadata attached to Java class files
Stars: ✭ 41 (-69.63%)
Mutual labels:  proguard
awesome-android-proguard-rules
Android项目混淆规则
Stars: ✭ 26 (-80.74%)
Mutual labels:  proguard
gdx-deploy-sample
Sample Gradle configurations for LibGDX for preparing and deploying release builds
Stars: ✭ 28 (-79.26%)
Mutual labels:  proguard
springboot-tutorials
codehome出品SpringBoot2.x基础教程
Stars: ✭ 77 (-42.96%)
Mutual labels:  proguard
AndroidProguard
android代码混淆AndroidStudio插件
Stars: ✭ 27 (-80%)
Mutual labels:  proguard

ProguardDictionaryGenerator

一种生成proguard字典的算法

为了保护我们的JAVA/Android代码,我们常使用proguard对代码进行混淆(http://proguard.sourceforge.net/)。

默认情况下,proguard混淆时将类/变量/方法重命名为a,b,c,...的格式。

我们可以通过配置-obfuscationdictionary,-classobfuscationdictionary-packageobfuscationdictionary分别指定变量/方法名、类名、包名混淆后的字符串集。

一开始我想,把字典改成复杂汉字集合可以制造更多的阅读障碍,就写了一个粗略的算法对汉字复杂程度进行了一个排序。

后来我发现,只要用双字节字符,都可以作为变量名。就选取了unicode 0x0100-0x10FF的字符来进行排序,并把排序顺序反过来,从不复杂到复杂。 这样不复杂的字符都特别小而相似,而且还有很多字符其实不存在或者没有被字体库包含,效果更好了。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].