我正在为Java jar文件使用Allatori混淆器,当在声明期间没有初始化的变量但只有初始化的变量而不是final的变量会产生异常时,它会很好地工作:
[ERROR] Only final fields may have an initial value!
由于我不想取消初始化变量,我该怎么做才能跳过此异常?
请提出任何建议
据报道,这是Allatori供应商(Smardec Inc)承认的错误。 Mahmoud M. Hammad在其博士学位论文Self-Protection of Android Systems from Inter-Component Communication Attacks 2018中指出以下内容。
“例如,Allatori提出了以下例外情况:“ com.allatori.IiIIIIiiii:只有最终字段才可以具有初始值!”在许多应用程序上,我们就此例外情况与Allatori提供商联系,后者告知我们该问题已由其他用户报告,但无法重现。因此,我们帮助他们重现了该问题,以改进其产品。该异常主要是由于使用dex2jar引起的,尽管该异常的修复仍在进行中。“
我没有在Hammad的论文中提到Allatori的特定版本,但是很有可能该错误已在最新版本中修复。检查您是否正在使用该工具的最新版本。您也可以就此1与供应商联系。
如何跳过错误?
我认为您不能。
1 ...假设您具有合法副本。有人(假设!)使用盗版或不受支持的专有混淆器副本来保护自己的软件的想法很讽刺。