打开另一个活动的安全性如何?

时间:2018-09-03 18:05:10

标签: android security android-activity

我正在制作一个管理应用程序以控制我的主帐户的firebase数据库,所以想象一个2结构的应用程序 MainActivity和AdminActivity。

因此,在MainActivity中,我将有一个编辑文本来输入密码,并且仅当密码与硬编码密码匹配时,用户才能使用意图进入AdminActivity。

所以我的问题是,此应用程序将只与我呆在一起,但是万一它被错误使用,有人可以在不使用密码或外部使用某些工具的情况下打开AdminActivity吗?我不想在Firebase上实现登录,因此数据库是打开的。

2 个答案:

答案 0 :(得分:2)

如果有人掌握了APK,则很容易将其反编译。即使使用混淆(Proguard)也不会隐藏硬编码的字符串常量。然后,攻击者可以尝试在应用程序中找到的所有字符串,直到正确获得密码为止。

假设您的AdminActivity在清单中被声明为exported="false",那么攻击者就不可能直接启动Activity(就像从另一个应用程序中一样)。但是,如果攻击者掌握了APK,则可以将其安装在具有root用户权限的设备上,然后执行其所需的任何操作,也可以将设备连接到PC并使用ADB直接启动AdminActivity

我现在想不起来还有其他6种成功的“绕过密码”方案。

答案 1 :(得分:0)

问题的答案可以是,也可以是

为什么 答:假设在对密码进行硬编码时,将其保存在某个地方,或者如果有人试图查看您的计算机,那么就有可能泄漏密码。

为什么 答:因为密码是硬编码的,所以您是唯一知道密码的人。用户无法知道。

IMO为了提高安全性,请使用ProGuard保护您的应用。