Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android应用程序中的用户激活码_Java_Android_Security_Android Studio_Activation - Fatal编程技术网

Java android应用程序中的用户激活码

Java android应用程序中的用户激活码,java,android,security,android-studio,activation,Java,Android,Security,Android Studio,Activation,我需要在我的android应用程序中添加一些生成激活码的东西,这样只有当应用程序被激活时,应用程序的功能才会起作用。最好的方法是什么?我相信你不能仅用你的应用程序就做到这一点,你肯定需要服务器的帮助,它会为你生成一个激活码,并将其与登录用户匹配。一旦生成的激活码通过电子邮件或任何其他方式传递给用户,您就可以匹配用户提供的激活码,然后与服务器中的激活码匹配,如果匹配,就让他们使用这些功能 我希望这就是你想要的。但我可能会傻到误解你。让我知道这是否是您想要的。如果我正确理解了问题,您想要实现的目标在

我需要在我的android应用程序中添加一些生成激活码的东西,这样只有当应用程序被激活时,应用程序的功能才会起作用。最好的方法是什么?

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


我希望这就是你想要的。但我可能会傻到误解你。让我知道这是否是您想要的。

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

您的应用程序所具有的任何功能都已存在于应用程序中,并已下载到客户端。用户可以使用调试器来反汇编应用程序文件,并将源代码更改为不需要激活码或接受任何代码(无论哪种代码更简单,但两者都可以)。你给客户的任何东西都应该被视为完全由客户控制,其中的任何逻辑都可以改变,秘密可以被发现,等等

这可能并不简单,特别是如果您使用某种模糊处理,但它始终是可能的。问题只是所需的努力

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

因此,如果您想保护您的物品,您可以针对不同的场景提供一些选项:

  • 有两个独立的应用程序,一个免费但不包括付费功能,另一个付费。用户可以使用免费的一个,然后购买另一个,如果他们想

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

  • 如果你试图保护的值很低,你可以像上面提到的那样在应用程序中使用模糊处理和访问控制逻辑,但你需要注意,这可能相对容易被破解,特别是在Android上,通过更改apk