用 allatori 混淆太多

obfuscating with allatori obfuscates too much

我有以下 config.xml 文件

<config>
  <input>
    <jar in="FVCellsPlugin-3.3.1-jcg.jar" out="obf-FVCellsPlugin-3.3.1-jcg.jar"/>
  </input>
  <keep-names>
    <class template="class io.github.freakyville.fvcells.main.Main"/>
    <class template="class regex:(?!io\.github\.freakyville).*\..*">
        <field template="*"/>
        <field template="static *"/>
        <field template="public static *"/>
        <method template="private+ *(**)"/>
        <method template="private+ static *(**)"/>
    </class>
    <class template="private+ class regex:io\.github\.freakyville\.utilsupdated\..*"/>
  </keep-names>
  <property name="log-file" value="log.xml"/>
  <property name="line-numbers" value="keep"/>
</config>

所以我尝试了一些没有用的东西,我想要混淆的所有代码都在包(或子包)io.github.freakyvilleio.github.freakyville.utilsupdated 除外)中。 当启用插件时,我收到一个错误 java.lang.NoSuchMethodError: com.mongodb.client.model.geojson.c.iiiiiI(Ljava/lang/String;)Ljava/lang/String;,表明它混淆了 com.mongodb.client.model.geojson 中的 class,当查看 jar 内部时,我可以看到它混淆了 geojson.c ] class https://gyazo.com/45c17157d5d7a213f14a9ecc2c12b4f6 这对我来说没有意义,因为我的正则表达式 (?!io\.github\.freakyville).*\..* 应该匹配 package/class 路径然后保持 package/class 正确?

啊我想出来了,我错过了文档中的标签(它忽略了混淆过程中匹配的 classes)。将我的 class 模板添加到其中,现在可以使用了