保护字符串不变以防逆向工程

D-F*_*Fox 23 java security android reverse-engineering credentials

我有Android应用程序,它具有硬编码(静态字符串常量)凭据(用户/通行证),用于通过SMTP发送电子邮件.

问题是.apk中的.dex文件可以很容易地进行逆向工程,每个人都可以看到我的密码.

有没有办法如何保护这些凭据,而我仍然可以在我的课程中使用它们?

Sal*_*alw 5

您可以保存经过 AES 混淆的字符串。

在许可验证库中,您可以找到AESObfuscator. 在 LVL 中,它用于混淆读取的缓存许可信息,而不是要求 Android Market 找出应用程序是否已获得许可。LVL 可以作为 SDK 的组件进行下载。


Anu*_*dal 5

我们可以使用"jni模块"在应用程序中保留"敏感硬编码字符串".当我们尝试逆向工程APK文件时,我们在各个进程文件夹中获得lib文件夹和.so文件.哪个不能解密.

  • 我仍然可以在 .so 文件中看到字符串。 (2认同)

Shi*_*gon 4

我想你可以尝试使用代码混淆器,但实际上这并不会让你的密码 100% 安全,而且我不知道它与 android 编译器的配合情况如何。为什么不使用安全的网络身份验证,例如 Google 的身份验证?

  • 我认为混淆器不会更改字符串的内容(凭据)。首先需要对内容进行加密。但正如你所说,更好的网络身份验证。 (2认同)