【问题标题】:Windows 10 Desktop Bridge: DRMWindows 10 桌面桥:DRM
【发布时间】:2018-10-30 02:42:38
【问题描述】:

我使用桌面桥创建了一个适用于 Windows 10 的 UWP 应用。但是,安装包后,可以从C:\Program Files\WindowsApps复制exe文件,并且可以在其他PC上运行,有没有像Steam DRM一样的防复制方法?

我想阻止 exe 文件在 Windows Store 之外运行,有什么简单的方法可以实现吗?桌面转换器可以吗?或者可以使用任何橱窗商店API?

【问题讨论】:

  • 这适用于部署在客户端上的所有 .NET 程序集。但是,如果有人能够对应用程序进行逆向工程,他很可能能够从头开始编写一个。而且我不认为从该文件夹复制的文件可以在其他PC上使用,而无需通过反编译-重新编译-重新打包-部署的过程。
  • 复制的文件是.exe文件,可以直接在其他电脑上使用。
  • 哦。那么这个问题实际上是关于保护桌面exe的。而且我相信在 stackoverflow 上有很多关于这个主题的 old 帖子。你能提供更多的上下文吗?具体说明您的要求。
  • 我想阻止我的应用程序在 Windows 商店之外运行,有没有简单的方法来实现它?桌面转换可以吗?或者可以使用任何橱窗商店api?谢谢。

标签: uwp drm desktop-bridge


【解决方案1】:

您可以使用以下 API 在运行时检查应用实例是否具有有效的商店许可:

https://docs.microsoft.com/en-us/uwp/api/windows.services.store.storeapplicense.skustoreid

如果用户从 Microsoft Store 安装了应用程序,它将有一个 SkuStoreId,否则将没有。离线时也可以进行此项检查。

【讨论】:

  • 感谢您的回复。我将我的产品发布到商店,该产品不是免费的,我使用促销代码下载它,然后复制到之前从未安装过该产品的另一台电脑,但 StoreAppLicense.IsActive 始终返回 true。为什么它不起作用?在这种情况下,我可以使用 StoreAppLicense.IsActive 检查当前用户是否有权使用此应用程序?
  • 对不起,原来我对 IsActive 的理解是错误的。我与团队核对过,要检查的正确内容是 SkuStoreId。在未经许可的情况下,它将不存在。当我回到我的键盘时,我会更新我的答案。 docs.microsoft.com/en-us/uwp/api/…
  • 非常感谢,现在可以使用了。我还有一个问题,使用 Windows.Services.Store API 时是否需要互联网?如果没有网络,能否获取 storeAPPLicense 和 SkuStoreId?
  • API 也应该可以离线工作。应该很容易测试出来。如果您遇到任何问题,请告诉我们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-26
  • 2023-03-06
  • 2016-01-10
  • 2021-08-11
  • 2021-07-10
  • 1970-01-01
相关资源
最近更新 更多