Is java code decompilable?
我想知道Java代码是否可反编译?因为我正在为Android开发一个应用程序,我想知道使用MySQL连接器是否安全?
将Java代码转换成Android应用程序。
谢谢你的回答。
- 这两者有何关联?似乎你打算在客户端硬编码一些敏感的东西。
- 我不是问如何反编译,我问的是,Android应用程序的MySQL连接器是否安全,因为Java反编译的东西。
- 你的数据库密码会在应用程序中吗?
- 如果您将代码编码为安全的话,您的代码将是"安全的"。这与它是否可反编译无关。
- 是的,大卫。没有它怎么办?
- 大多数人建议不要在客户机中存储敏感信息,如数据库用户名/密码。您不需要解压缩整个应用程序来查找特定的文本字符串。
- 安全是什么意思?正确运行还是什么?
- @kangoo13 generaly您有一个应用服务器,Android应用程序与之对话,并针对使用用户凭据(或匿名)进行身份验证,该应用服务器安全地进行所有数据库通信。不应该真正需要在应用程序上存储应用程序范围内的凭据。
- 字节码(指令集)的规范是公开的,因此任何拥有字节码的人都可以了解程序的功能。这就是你要问的吗?
- 谢谢大家的回答。所以我不能把我的数据库的密码存储到Java代码中:
- 不,你不应该!
你的问题是xy问题的一个很好的例子。实际上,您似乎打算让Android应用程序使用数据库。解压是你最不担心的事。在某些情况下,用户还可以使用包嗅探器获取您的身份验证详细信息。一个简单的strings foo.apk搜索可以得到数据库认证细节。不管你的应用程序是什么,都有人会从外部攻击你的数据库服务器;
一个更可行的解决方案是建立一个Web服务器,它可以处理不受信任的请求,并在过滤后将它们转发到数据库。然后,您就不再有人从APK或设备窃取您的DB凭证的风险,因为他们不再住在那里。
- 有什么网站或教程要提供吗?
- @Kangoo13我会得到一个支持JSP的WebHost,它支持类似于Tomcat的东西,然后看看这个(没有附属关系)。
- 谢谢你的帮助!:)