【发布时间】:2020-03-12 07:52:50
【问题描述】:
我正在使用 Allatori 混淆器处理 java jar 文件,当声明期间没有初始化变量但如果只有变量已初始化且未最终生成异常时,它运行良好:
[ERROR] Only final fields may have an initial value!
由于我不想取消初始化我的变量,我应该怎么做才能跳过这个异常?
大家有什么建议
【问题讨论】:
标签: java obfuscation allatori
我正在使用 Allatori 混淆器处理 java jar 文件,当声明期间没有初始化变量但如果只有变量已初始化且未最终生成异常时,它运行良好:
[ERROR] Only final fields may have an initial value!
由于我不想取消初始化我的变量,我应该怎么做才能跳过这个异常?
大家有什么建议
【问题讨论】:
标签: java obfuscation allatori
据报道,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 ...假设您拥有合法副本。有人(假设!)使用盗版或不受支持的专有混淆器副本来保护自己的软件的想法非常讽刺。
【讨论】: