2

我读了一篇关于逆向工程Windows 8 应用程序的文章。最令人担忧的事情之一是修改它们的难易程度,以及微软如何在其中包含许可。

特别值得注意的是 Javsscript(尽管 C# 也容易受到 IL 重建的影响)。它们提供功能LicenseInformation.IsTrial()。但是,如文章中所述,如果您更改了一些权限,您可以直接编辑 javascript 并替换IsTrialfalse.

不过,这篇文章是在 Windows 8 的一个非常早期(第一次)公开版本中制作的。他们采取了哪些措施来防止在当前发布版本中发生修改?Javascript 应用程序是否应该被视为不可能货币化?

4

1 回答 1

2

应用程序包经过签名并定期检查是否被篡改。Windows 不会启动已被标记为已被篡改的打包应用程序(修改包中的文件是一种篡改形式)。

应用程序包和部署”文档页面指出:

所有包都必须使用受信任的签名进行签名。这使 Windows 能够确认签名者的身份并验证包的内容没有被篡改。Windows 不会部署未签名的包。

签署应用程序包”文档页面指出:

如果已安装包中的任何文件被修改,签名验证可能会阻止应用程序启动。

也就是说,没有技术限制可以阻止某人打开应用程序包并构建一个新的、修改过的包。为此,需要开发人员许可证。但是,在这一点上,它与用户可以下载和安装的任何其他程序没有什么不同。

于 2012-10-06T02:26:34.560 回答