所以我最近测试了一下我的一个Android应用程序的反汇编,令我惊讶的是,代码非常容易读懂。更糟糕的是,我所有的变量名都完好无损!我以为它们会在编译时被压缩成不可读的东西。该应用程序被触发在一定时间后过期。然而,现在对我来说很容易找到我的名为checkIfExpired()的函数和变量"expired"。有没有什么好方法使潜在的黑客难以干扰我的应用程序?
在有人提出明显的观点之前:是的,这只是通过模糊手段来保证安全。但显然这是我的唯一选择,因为用户始终可以访问我的所有代码。这对所有应用程序都是一样的。我的停用功能的细节并不重要,重要的是我不希望反汇编工具能够理解我做的某些事情。
附加问题:为什么变量名没有被压缩?如果我不再使用非常长的变量名,是否可能使程序运行更快,就像我的习惯一样?
在有人提出明显的观点之前:是的,这只是通过模糊手段来保证安全。但显然这是我的唯一选择,因为用户始终可以访问我的所有代码。这对所有应用程序都是一样的。我的停用功能的细节并不重要,重要的是我不希望反汇编工具能够理解我做的某些事情。
附加问题:为什么变量名没有被压缩?如果我不再使用非常长的变量名,是否可能使程序运行更快,就像我的习惯一样?