我试图阻止应用程序被反编译,从而暴露出来。我知道有一些proguard可以用来将java文件转换为.smali文件。但我的问题是,这些.smali文件有多安全?
当我做R& D时,我得到了一些结果,即.smali文件可以转换回java文件。真的吗?或者,防止apk反编译的最佳方法是什么?我的应用程序包含很多财务细节,所以不惜任何代价,我不应该向外界透露它们,或者至少我试图让它变得非常难以反编译。
注意:我已经做了很多工作来完成proguard的工作
非常感谢您的回答
答案 0 :(得分:2)
Proguard内置于更高版本的Android SDK中。您只需指向proguard.cfg,它将在发布期间使用。我猜你知道这一点。
Proguard与smali无关。最后,所有这些工具都输出工作字节码,您可以随时重新编译字节码。无法阻止。 proguard可以做的是重命名代码中的所有符号,以便结果很难理解。
如果您的意思是将敏感信息存储在应用中的字符串文字中,则不要这样做。这些不能混淆,否则你的应用程序将无法正常工作。它们始终在字节代码中作为文字显示。