近几年,移动应用和web2.0大行其道,相比之下,传统桌面应用程序开发显得相对冷清(包括该领域技术人才的后继力量),但在一些场景下,它依然有其不可替代的优势。
Windows8在Metro界面下只能运行通过微软签名和WindowsStore应用程序,WindowsRT亦是如此,无法运行之前为Windows7等系统开发的x86/64桌面软件。正是如此,自Windows8发布以来就不断有人进行越狱。今天,有技术团队宣布,他们已经实现了在WindowsRT上运行传统的桌面程序。
该技术团队成员Clrokr在Surfsec博客上发表了一篇名为《绕过WindowsRT的代码完整性检查机制》的文章,文中指出,他们已经实现了在WindowsRT上运行未签名的桌面应用程序。颇具讽刺意味的是,此次越狱的成功得益于Windows内核中一个存在了很长时间的漏洞,该漏洞影响所有Windows版本,ARM版Windows也没能逃脱。
实际上,WindowsRT的功能与Windows8是一样的,只是微软故意设置了障碍让WindowsRT不能兼容桌面应用,WindowsRT就像是Windows8的妆后版,两者骨子里是相同的,只是微软使用代码完整性检查机制(CodeIntegrityMechanism)人为地将这两个平台区分开来。
这个代码完整性检查机制不会阻挠任何人修改WindowsStore应用程序(以及拥有微软签名的程序),因为WindowsStore应用程序是唯一不需要任何签名就能运行的。而且,这种代码完整性检查机制在Windows8上也能运行,你甚至可以在Windows8上执行代码完整性检查机制从而让它看起来和WindowsRT一样。
“微软在WindowsRT上屏蔽传统的桌面应用程序,并不是什么高科技,只是一个很糟糕的营销决策。WindowsRT需要Win32环境才能增强其‘产能工具’的身份,现在已经有太多的‘消费’型平板机了。”
Clrokr在博客中介绍了越狱方法,但是不建议普通用户使用。