安卓应用中的用户激活码

Posted

技术标签:

【中文标题】安卓应用中的用户激活码【英文标题】:User activation code in android app 【发布时间】:2017-04-06 18:56:23 【问题描述】:

我需要在我的 android 应用程序中添加一些生成激活码的内容,以便应用程序功能只有在应用程序被激活时才能工作。最好的方法是什么?

【问题讨论】:

【参考方案1】:

如果我正确理解了这个问题,那么您想要实现的目标在技术上是不可能的。

您的应用所具有的任何功能都已经存在于应用中,并已下载到客户端。用户可以使用调试器来反汇编应用程序文件并将您的源代码更改为不需要激活码或接受任何代码(任何更容易的方法,但两者都是可能的)。你给客户端的任何东西都应该被认为是完全由客户端控制的,里面的任何逻辑都可以改变,秘密可以被看到等等。

这可能并不简单,尤其是在您使用某种混淆的情况下,但它始终是可能的。问题只是所需的努力。

努力是这里的关键。在某些情况下,保护低价值资源可能足以阻止最低配置的攻击者。它始终与风险和保护成本有关。但是您需要注意以上几点,应用程序中的逻辑无法受到保护。

因此,如果您想保护自己的资料,您可以针对不同的场景提供以下几种选择:

有两个独立的应用程序,一个是免费的,不包括付费功能,一个是付费的。用户可以使用免费的,然后根据需要购买另一个。

具有由服务器提供的付费功能。如果关键业务逻辑在服务器端,您可以真正实施访问控制规则,并且可以保持对谁拥有访问权限的控制。不过,这可能会对您的应用架构和功能产生严重影响。

1234563通过更改 apk。

【讨论】:

【参考方案2】:

我相信你不能只用你的应用程序来做到这一点,你肯定需要服务器的帮助,它会为你生成一个激活码并将其与登录用户匹配。一旦生成的激活码通过电子邮件或任何其他方式传递给用户,您就可以匹配用户提供的激活码,然后匹配服务器中的激活码,如果匹配,让他们使用这些功能。

我希望这是你想要的。但我什至可能愚蠢到误会你。让我知道这是否是您想要的。

【讨论】:

以上是关于安卓应用中的用户激活码的主要内容,如果未能解决你的问题,请参考以下文章

@珠海网民 赶紧修补安卓手机“应用克隆”重大安全漏洞!

安卓onKeyDown事件 重新获取焦点

在欢go客户端积分兑换的天翼视讯的会员怎么激活?

第三方阿里云盘安卓 TV 版,可直接播放视频文件

在安卓上拨打电话时自动激活蓝牙耳机

安卓应用中的Facebook分享+评论提交