20

我想知道防止人们窃取我的应用程序的最有效方法是什么(在线下载 .apk 的副本而不是购买它)。

我在一个特别的(Droidbox)上花费了很多时间,并且在我可以保证提供专业版非法副本的人无法发布之前,我不会发布 Sync。

有人实现了这个吗?我试过检查我的包签名和未签名副本的签名,但它似乎是一样的——也许我在这里做错了。我不确定人们是否真的分发签名的.apk,在这种情况下,我认为签名验证不会开始......

请注意,这个问题是针对 Android Marketplace 应用程序的——不同之处在于,应用程序的交付不在我的掌控之中,我无法将合法购买和非法下载联系起来。

4

8 回答 8

13

现在有新的 Google App Licensing 可用。如需更深入的信息,请阅读android 开发者博客中的相关信息。

简短的总结:Google 提供了一个库,可以通过电话向市场客户端进行进程间调用。市场客户端然后会询问谷歌服务器登录的用户是否购买了应用程序并将这个答案转发给你。您的开发人员资料中应该有一个公钥,您需要加密与谷歌服务器的连接以防止欺骗答案。您还为查询提供了应用程序和设备唯一 ID,以使无法将已批准的查询转发到另一台设备,并构建类似许可代理的东西,其中一个购买的副本将 IS LICENSED 答案转发到其他设备。

目前,这项服务看起来足够安全,可以保护市场上更有价值的应用程序。我会试一试,也许在我用了一点之后回来留下更多信息。

如果您的应用程序真的很受欢迎,例如 EA 游戏或其他东西,这不会阻止用户对其进行黑客攻击。要破解应用程序,必须有人购买它,然后解压缩 apk,然后编辑应用程序的字节码,以认为市场会发送正确的答案。新的字节码可以打包到另一个apk中,并且可以安装在每部允许侧载的手机上。为了让这更难,你总是可以尝试混淆你的 apk 并使你的字节码难以理解。

于 2010-07-28T10:09:26.000 回答
5

应用程序购买者和开发者之间通过市场建立了一个单一的、有用的联系,即谷歌提供的用于联系购买者的转发电子邮件地址。

利用集成回调设置将购买信息发送到您自己的服务器,您可以使用 PHP 通过电子邮件将唯一标识符(注册码)发送给购买(在购买期间从谷歌发送回调时实时。用户然后使用此电子邮件使用唯一标识符注册他们的软件,然后将其链接到他们的 android ID(或 google 帐户用户名),并且该软件被“激活”并保证是合法的。

明显的问题

  • 当它要求用户阅读电子邮件时,为什么这是一个合适的解决方案?我们的市场是那些能够使用安卓设备购买应用程序的人。通过使用安卓设备,这意味着用户有一个谷歌账户,这意味着他们知道如何使用电子邮件。

  • 如何在我的应用程序中使用带有唯一标识符的电子邮件?在您的应用程序中创建一个内容处理程序来处理诸如“myactivator://uniqueid-or-something”之类的内容,这会导致您的应用程序与您的内部服务器进行通信,该服务器会密切关注激活。将此作为链接嵌入到用户可以单击的电子邮件中。

  • 我应该如何生成唯一标识符?我打算以某种方式使用电子邮件——我相当有信心谷歌已经让它变得足够独特,不允许任何可行的联系信息销售方法。

  • 那些已经购买了软件的人呢?这里有很多选择 - 没有理想或糟糕的。

    • 向所有以前的买家发送电子邮件
    • 允许用户通过输入他们的订单号来激活(可以通过登录 checkout.google.com 获得。

何苦?

因为我们中的一些人在申请中投入了大量时间,说“你应该接受盗版”是一记耳光。

于 2010-04-27T20:26:34.443 回答
4

那些松懈到使用您的应用程序的盗版副本来访问他们的 DropBox 的人可能无论如何都在使用他们的 DropBox 进行盗版。忘记那些人。让他们去吧。是的,我敢打赌,人数众多,但让我们面对现实吧,这些人无论如何都不会付钱给你。专注于您可以控制的部分,而忘记其余部分。

关注使用 DropBox 进行工作、业务、自己的代码、财务、论文和/或私人家庭照片的 Android 用户。95% 的人,在他们的 DropBox 中有一些有价值的东西,并且希望它保持私密,会想要购买你的应用程序(假设它对他们来说足够好)。

让我用这个比喻:

在聘请锁匠为您的房屋安装锁时,您是聘请看起来很像并且每小时花费 150 美元的人,还是聘请愿意卖给您偷来的锁的阴暗的人来给您上锁前门?

于 2010-04-27T05:58:07.353 回答
2

在最知名的论坛上发布您自己的非法副本,并在一周后自行禁用并显示如下消息

谢谢你偷...我以编写这个应用程序为生。x Dollar 不会伤害您,我可以在下一顿饭前继续为您提供出色的更新。

我认为这是你唯一能做的。人们总会找到复制您的应用程序的方法,所有对策只会打扰为应用程序付费的用户。

复制您的应用程序的人不是您的客户,而且他们永远不会是您的客户。只需将他们对该程序的使用视为一种病毒式营销。至少他们在谈论您的应用程序,也许他们的一些朋友会购买该应用程序。

于 2010-04-27T07:04:45.370 回答
1

此处的一般共享软件建议 - 将软件许可给个人。即提供针对其用户名个性化的许可证密钥。如果密钥上有他们的名字,他们将不太可能分发密钥。您可能可以自动化订单的后端履行,以提供自定义键。让您的“Pro”版本在试用模式下运行,直到输入名称/密钥。

于 2010-04-27T03:34:26.973 回答
0

不要离开您的计算机,以便有人可以从那里窃取您的应用程序。

或者等等……你的意思是你不想让别人复制你的软件吗?然后.. 不首先发布它可能是您最好的选择。

一点相关链接:http ://news.cnet.com/8301-27076_3-20003120-248.html

您也没有任何机制来估计非法复制软件的数量。即使实体比您尝试的更大并且失败了,也可以享受您的尝试来阻止雨。

于 2010-04-27T05:38:25.977 回答
0

野外有一个新工具似乎很好:

Keyes Lab 的自动应用程序许可

我还没有尝试过,但如果这听起来像你想在你的高价安卓应用程序中使用的东西。

如果有人对其进行了测试,请发表评论或使用个人反馈编辑我的答案。

于 2010-05-06T07:30:49.453 回答
0

我有同样的问题。我最近在这个网站上发现了一些我的付费应用程序可以免费下载:https ://dlandroid.com/

我要求他们删除我的应用 APK,但我确信还有许多其他类似的网站。据推测,他们有一部 root 手机,可以从 Google Play 获取该应用程序的一份有效副本,然后将其上传到他们的网站上,免费分发给所有人。

您可能会花费无穷无尽的时间来确保网络上没有您的应用程序的盗版副本,或者实施复杂的盗版保护措施,这很可能会使您的真正付费用户变得不那么方便。但我想最后,您必须准备好做出权衡并接受一定程度的损失是不可避免的,并希望大多数人诚实并通过适当的渠道获取您的应用程序,而不是冒着被恶意软件感染的风险去像这样的狡猾的网站。

于 2019-02-09T05:34:49.443 回答