Google Play的“市场许可证检查”如何工作? -- google-play-store 领域 和 drm 领域 android 相关 的问题

How does Google Play's “Market license check” work?


简体版||繁體版
23
vote

问题

中文

大约一个月前,我买了一款名为鲸鱼尾部在Google Play上销售。今天,当我试图在地铁上玩游戏时,它要求验证游戏的许可证,并没有这样做(因为地铁上没有互联网连接),关闭游戏。当我回到家时,我看看游戏的"权限" 选项卡,并看到了这个:

市场许可证检查

可以检查您是否有来自市场的此应用程序的许可

似乎这是一个内置于Google Play的功能。所以我的问题是,这个"许可证检查" 如何工作?应用程序多久使用这款"功能" 手机回家来验证,确实是我不是一个肮脏的海盗窃取这些开发人员的应用程序?

英文原文

About a month ago I bought a game called Whale Trail during a sale on Google Play. Today, when I tried to play the game on the subway, it asked to verify the game's license, and failing to do so (since there was no internet connection on the subway), shut the game down. When I got home, I took a look at the game's permissions tab and saw this:

Market license check

Can check if you have a license for this application from Market

It seems like this is a feature built into Google Play. So my question is, how does this "license check" work? How often does apps using this "feature" phone home to verify that indeed I'm not a dirty pirate stealing these developer's apps?

     
   
   

回答列表

18
 
vote
vote
最佳答案
 

您可以选择何时,以及您希望应用程序检查其许可证,并且您可以完全控制它如何处理响应,验证签名的响应数据,并强制执行访问控制。

从 http://developer.android.com/guide/market/licensing/overview.html < / a>

所以是的,基本上只要开发人员想要它。我想象最常见的时间检查是应用程序首次打开时。

您的应用程序没有直接查询许可服务器,而是将Google Play客户端呼叫过远程IPC以启动许可证请求。在许可证请求中:

  • 您的应用程序提供:其包名称,稍后的ann 用于验证服务器的任何响应以及回调 可以异步返回哪个响应。

  • Google Play客户端收集有关的必要信息 用户和设备,例如设备的主要Google帐户 用户名,IMSI和其他信息。然后发送许可证 代表您的应用程序检查服务器的请求。

  • Google Play服务器使用所有可用信息评估请求,试图将用户的身份建立到足够的置信度。然后服务器检查用户身份针对您的应用程序进行购买记录,并返回许可证响应,Google Play客户端通过IPC回调返回您的应用程序。

SO:

  1. 应用程序,设备和用户的信息向谷歌的服务器。
  2. 谷歌然后将您的名称与其知道在Google Play上的应用程序支付的人员中进行检查。 (它也可以检查应用程序的申请名称,它知道您已从Google Play下载的应用程序)
  3. 如果它可以看到您已下载(并支付)从Google Play的应用程序,它会寄回您有许可证,如果不是,那么它就告诉了您没有的应用程序。

显然,这一切都在线完成,所以如果你脱机,那么它就不工作。如果我正在编写申请,我会有一个柜台让人脱扣3次左右,然后在网上开始拿到许可证检查,以阻止你无法玩的那种东西离线。当然,如果有人挖掘计数器的文件,他们可以每次使用它时会更改回到3的值,而不是必须支付,但这可能超出了大多数用户的技术能力。

 

You can choose when, and how often, you want your application to check its license and you have full control over how it handles the response, verifies the signed response data, and enforces access controls.

From http://developer.android.com/guide/market/licensing/overview.html

So yes basically whenever the developer wants it to. I'd imagine the most common time to check is when the application is first opened.

Your application does not query the licensing server directly, but instead calls the Google Play client over remote IPC to initiate a license request. In the license request:

  • Your application provides: its package name, a nonce that is later used to validate any response from the server, and a callback over which the response can be returned asynchronously.

  • The Google Play client collects the necessary information about the user and the device, such as the device's primary Google account username, IMSI, and other information. It then sends the license check request to the server on behalf of your application.

  • The Google Play server evaluates the request using all available information, attempting to establish the user's identity to a sufficient level of confidence. The server then checks the user identity against purchase records for your application and returns a license response, which the Google Play client returns to your application over the IPC callback.

So:

  1. The information about the application, the device and the user goes off to Google's servers.
  2. Google then checks your name against the list of people it knows have paid for the application on Google Play. (It could also check the name of the application against a list of applications it knows that you've downloaded from Google Play)
  3. If it can see that you have downloaded (and paid for) the application from Google Play it sends back that you have a license, if not then it tells the app you don't.

Obviously this is all done online so if you're offline then it won't work. If I was writing the application I would have a counter to let the person to use it offline 3 times or so before having to go online to get the license check in order to stop the kind of thing happening to you where you can't play offline. Of course if someone digs into the file where the counter is stored they could change the value back to 3 tries every time they use it and never have to pay but that's probably beyond the technical competence of most users.

 
 
 
 

相关问题

6  如何允许Android市场许可证通过安全网络检查?  ( How to allow android market license check through a secured network ) 
我们有一个安全网络,不允许互联网访问。不幸的是,我们为我们的蜂窝平板电脑购买的Android市场的一个应用程序使用市场许可证检查来验证我们是否购买了该应用程序,每天似乎是什么样的应用程序。我们需要允许访问此身份验证的哪些网站? ...

0  / system / bin / mediaserver和/ system / bin / drmserver不希望这些但Android不同意  ( System bin mediaserver and system bin drmserver dont want these but android di ) 
我使用了这个链接使用adb禁用媒体服务器 希望易于禁用电池介入媒体服务器进程。它没有工作MediaServer仍然在我的Android 4.4 jiayu s3手机上运行 /system/bin/mediaserver ,我发现另一个只是称为 /system/bin/drmserver 的pricky过程,它显示 ...

3  有没有办法验证Xperia手机的TA分区备份的完整性吗?  ( Is there a way to verify the integrity of a ta partition backup of xperia phones ) 
我在我可以备份ta分区的备份之前解锁了我的xperia p(lt22i)的引导加载程序(存储DRM键,IMEI代码等)。 现在我已经读到了几个XDA线程和引导加载程序已解锁后无法备份的其他网站。并且一旦它解锁,就会消失。 但是,当我使用最新版本的备份ta 在我的手机上,它可以检测到存在并备份ta分区。 现在我不确定它...

5  我可以在我的Android上从iTunes中玩DRM音乐吗?  ( Can i play drm music from itunes on my android ) 
我认为iTunes上的DRM内容只能在iTunes上播放,但是我看到了 songbird ,a非Apple应用程序,可以播放DRM受保护音乐。 是否有一个应用程序,它使用类似的技术可以播放我的旧iTunes购买? 是有没有其他方式在我的Android(野火)上播放我的音乐? ...

0  获取宽容L1级别需要哪种类型的硬件支持?  ( What type of hardware support is required for getting the widevine l1 level ) 
S S表示,崇拜L1级需要硬件支持,使其即使是制造商通过系统更新提供它。 但是硬件究竟需要什么? ...

0  Xperia Z3 DRM恢复  ( Xperia z3 drm restore ) 
我解锁了我的xperia z3没有读风险(我羞耻)。现在我无法用索尼桥更新手机,也读到我丢失了DRM许可证。 所以如果我有一些有z3而且仍有bootlock的朋友,可以为我的设备带来一个ta分区备份吗?我可以将这个分区还原到我的设备吗? ...

1  什么是/system/vendor/lib/liboemcrypto.so?  ( Whats system vendor lib liboemcrypto so ) 
,它来自哪里?我在线操作系统,我有一个崩溃的应用程序,因为我的sytem上不存在这个文件。当我对文件进行互联网搜索时,我看到有很多人通过删除它来完成工作,或者将其重命名为 liboemcrypto.so.bak 或其他东西,但没有人似乎缺少这个文件。我可以从任何地方得到它吗? ...

9  Amazon AppStore如何验证其应用程序?  ( How does the amazon appstore verify its apps ) 
从Amazon Appstore下载了一个应用程序后几次,我在打开应用程序时获得类似于以下内容的错误弹出窗口: Amazon Appstore 验证此应用程序存在问题。请再次下载它。 它在第一次启动应用程序时尚未发生,而是第二个(或可能稍后)。卸载它,然后再次下载它总是解决问题;它永远不会再发生同一应用程序(...

3  有没有办法在手机上听Zune Pass音乐?  ( Is there any way to listen to zune pass music on my phone ) 
我有一个Zune并通过Zune Marketplace下载DRM-ED音乐,只要我拥有Zune Pass每月订阅即可。有没有办法在我的机器人上倾听这个音乐? ...

2  没有DRM的Android版本?  ( Android versions without drm ) 
由于智能手机已成为"事情" ,因此,已经确定将手机锁定到特定的主要电子邮件地址并具有DRM"OKE" 。 Android,尽管是开源的,但不知何故不是例外。 由于Android是开源的,但似乎是开发人员将能够自定义它以删除手机上的主要电子邮件限制,并解锁所有购买的应用程序可供Whome使用手机时间,只需要登录来购买新...

8  Google书籍DRM是否受到保护?  ( Are google books drm protected ) 
在一些国家/地区,Google Play提供电子书。我想知道这些是否受到DRM保护。 我可以将它们导出为例如。 epub?或者他们是否必然会在Google Abcdefghijklmnabcdefghijklmn0 应用程序中读取? ...

0  Galaxy S8 +和Apple音乐下载  ( Galaxy s8 and apple music downloads ) 
我有一个新的Galaxy S8 +和Apple音乐,但我没有SD卡。当我点击Apple Music中的下载按钮时,歌曲会在哪里进行歌曲?我正在嘲笑我的音乐(第4代)iPod。我有一个iCloud帐户,但那里没有"音乐" 文件夹。 ...

1  如何找出Android设备是否使用TEE?  ( How to find out if an android device is using tee ) 
这个问题是从信息安全堆栈交换中迁移的因为它可以在Android爱好者堆栈交换中回答。 迁移 19天前 。 我是新的, trusty te...

23  Google Play的“市场许可证检查”如何工作?  ( How does google plays market license check work ) 
大约一个月前,我买了一款名为鲸鱼尾部在Google Play上销售。今天,当我试图在地铁上玩游戏时,它要求验证游戏的许可证,并没有这样做(因为地铁上没有互联网连接),关闭游戏。当我回到家时,我看看游戏的"权限" 选项卡,并看到了这个: 市场许可证检查 可以检查您是否有来自市场的此应用程序的许可 似乎这是一个内...

1  使用root从Android中删除DRM  ( Removing drm from android using root ) 
我想知道什么必须做些什么来删除DRM(数字限制/"版权" 管理"完全来自Android手机,一个人可以root访问权限。 到目前为止,我已经考虑了删除/ etc / drm,/ etc / dcmrcm和/ system / bin / drmserver 提前感谢! ...

1  禁用与WebLogin Networks的自动连接  ( Disable automatic connection to weblogin networks ) 
据我所知,Android从来没有选择禁用与特定WiFi网络的自动连接,始终愚蠢地使WiFi优先于3G。然而,这种功能是 Crucial 在城市地区,拥有丰富的开放网页登录网络咖啡馆等。甚至Symbian在我的旧诺基亚5800 Xpressmusic上有选择手动订购网络,因此,3G可能比某些WiFi网络更高的优先级。 ...

1  如何确定Android应用程序是否使用受信任的执行环境(TEE)和安全元素(SE)?  ( How to determine if an android application uses trusted execution environment t ) 
我经历了问题> 两个。但我仍然有一个额外的问题。 如何发现Android应用程序使用可信执行环境(TEE)和安全元素(SE)。特别是硬件支持环境。 感谢 ...

2  自制更新索尼Xperia到Android 6.0棉花糖和DRM恢复  ( Homemade update sony xperia to android 6 0 marshmallow and drm restoration ) 
我有一个xperia智能手机,android 4.4。 是否有可能使用新的Android 6.0棉花糖升级我的设备,并恢复以前备份的DRM键,因此索尼专有功能可以像以前一样工作?或者键绑定到特定的Android版本? 我知道了一个工具备份-ta 以及索尼最近发布的aosp的事实xperias的版本。 请,如果可以,请...

1  如果我在外国,许可证检查会失败吗?  ( Will a license check fail if i am in a foreign country ) 
我有一个应用程序,如果在最后一次成功检查以来的时间内,如果检查在 x 时间内没有成功,则无法工作。如果我在国外连接到互联网的情况下,此许可证是否会失败? 所讨论的应用程序是 Final Fantasy III(com.square_enix.android_googleplay.ffii_gp)。但是,大多数其他付费...

2  DRM键是什么?  ( What exactly are drm keys ) 
我在想解锁我的ST17i的引导加载物,但我在索尼移动网站上看到解锁引导加载程序将导致从手机中删除DRM键。他们到底是什么?如果我丢失了上述"DRM键" ,那将受到影响什么? ...

8  Android Market DRM如何工作?  ( How does android market drm work ) 
我有一堆购买用于锁定WiFi网络的植根平板电脑(出于安全原因,不允许上网访问)。使用不同的网络,我从市场上购买了RDP客户端应用程序。经过一段时间的虽然在安全网络上,应用程序不会以错误开头,"此应用程序未获得许可。请从Android Market购买它" 。 有人可以解释这是怎么回事? Android Market...

2  如何完全备份XPERIA Z2手机?  ( How do i fully back up an xperia z2 phone ) 
我正在考虑移动到一个自定义ROM,但我不想永久丢失任何DRM键。我如何在用它捣乱之前完全备份手机的内容? ...

2  密码保护视频  ( Password protected video ) 
我想用密码保护我的教学视频。有一个用例。 当用户想要播放加密文件(更新:文件位于用户的Android设备上)时,将弹出一个对话框以请求用户输入播放密码。此对话框将显示用户的Android设备的计算机ID。用户可以向您发送他/她自己的机器ID,您可以根据用户的计算机ID创建播放密码。之后,用户可以使用此播放密码在他/...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有