我相信这个问题已经被问到,但我对他们的答案不满意,并在这里再次发布.
有人可以告诉我如何保护我的Android应用程序资产免受那些想要构建类似应用程序的复制猫?
一如既往,在便利性和安全性之间进行权衡.您希望应用程序越安全,您开发的便利性就越低.
由于易于反编译,源代码本质上是不安全的,特别是对于root电话.为了保护您的源代码,您可以对代码进行模糊处理和/或加密,这将阻止反编译.不完全确定哪些工具适用于Android,但我确信它会使您的构建过程复杂化.如果你只是混淆,反编译可能仍然是可能的,但是会更加困难,如果使用强大的混淆程度,可能会要求尝试反编译代码的人知道并理解字节码.
为了保护您的资产,我相信您唯一的选择是使用加密.同样,这将使应用程序和/或构建过程复杂化,具体取决于您实现的位置.
即使您使用加密来保护资产,也必须保护源代码中的加密密钥.显然,如果您的加密密钥在源代码中是纯文本,那么您使用的加密方案无关紧要,那么任何人都可以获取密钥和资产并进行解密.所有这一切都是添加一个小栅栏跳过.
但是,如果您正确保护加密密钥并使用良好的加密算法,则应该不必担心.这是一个相当复杂的过程,很难在代码中使用密钥进行加密,而不是将其保存在纯文本中.即使你没有在代码中保留明文,在某些时候它必须在内存中执行解密.因此,如果有人可以在正确的时间附加调试器或转储内存,它将危及密钥.当然,这需要更熟练的对手.
总的来说,您需要准确确定您担心窃取资产的人.如果你担心普通的Joe会复制它们,那么你应该没问题.如果您担心专业黑客,脚本小子等获得访问权限,那么您可能会运气不好.
| 归档时间: |
|
| 查看次数: |
7023 次 |
| 最近记录: |