1
我在交付之前对混淆了我的Java代码(目前正在使用ProGuard)。Java混淆:删除异常消息
当我“反编译”混淆的字节码时,显然所有的字符串都没有被混淆。对于例外消息也是如此。这些异常消息为读者提供了大量的信息来理解代码。像:
if(a == null){
throw new IllegalArgumentException("SuperSecretObject cannot be null");
}
是否有可能使用ProGuard或其他工具编译时删除所有异常消息字符串?
否则,你能推荐其他方法来隐藏功能上不必要的字符串吗?
通过更改代码行为来删除异常消息。 – gontard 2013-03-25 08:43:06
您可以将异常消息移动到代码之外的文件中,但即使如此,也可以始终引用这些消息。 – 2013-03-25 08:44:08
@Sudhanshu好主意:我可以使用一个属性,当没有找到密钥时返回“”。这些属性只会在应该有异常消息的测试安装中填充。 – Philipp 2013-03-25 08:47:03