如何使用Zelix klassMaster工具

时间:2016-04-18 09:37:54

标签: java reflection obfuscation

我使用的是Zelix KlassMaster评估版,现在出现了反思功能的问题。因为我的程序将加载一个在xml文件中定义的类(例如,com.xxx.xxx.A) ,我定义了 " accessibleByReflection com.xxx.xxx.A; "在ZKM脚本中。但是当我运行我的程序时,它仍然失败了。错误是"由以下引起:java.lang.ClassNotFoundException:com.xxx.xxx.A" 。我想知道我的ZKM脚本是否写得正确或 评估版本不支持反思功能。    那么我如何模糊反射类,同时我的程序可以在混淆后找到新的类名?在类运行时如何以及如何存储和加载映射信息?

我的ZKM脚本如下:

classpath   "ZKM.jar"
            "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar"
            "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar"
            "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar"
            "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar"
            "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar"
            "classes/obfuscate/*"
            "classes/Non_obfuscate/*";

open        "/home/xxx/target/classes/*"
            "classes/obfuscate/*";

exclude     public *.*^ containing {public static main(java.lang.String[])} public static main(java.lang.String[]);

obfuscate   changeLogFileIn=""
            changeLogFileOut="ChangeLog.txt"
            obfuscateFlow=light
            exceptionObfuscation=light
            encryptStringLiterals=enhanced
            mixedCaseClassNames=ifInArchive
            aggressiveMethodRenaming=true
            collapsePackagesWithDefault=""
            localVariables=delete
            lineNumbers=delete
            autoReflectionHandling=normal
            obfuscateReferences=none
            obfuscateReferenceStructures=inSpecialClass;

accessedByReflection    com.xxx.xxx.A;

saveAll     archiveCompression=all "output";

0 个答案:

没有答案