问题 在Windows RT上运行为ARM编译的Win32应用程序


假设我有一个使用Win32 API的桌面程序,但是是为ARM体系结构编译的。如何让它在Windows RT(适用于ARM平板电脑的Windows 8的受限版本)上运行? Windows RT拒绝在没有Microsoft签名的情况下运行此类应用程序。

我知道没有正式的方法可以做到这一点,但是说它是用于内部部署,或仅用于测试目的。我有什么选择?

(看到 这个答案 关于Windows RT上Win32 API的可用性(Metro应用程序不是必需的,但系统上存在),以及 这个答案 有关如何使用VS2012编译ARM的Win32程序。)


12692
2017-11-19 13:41


起源

我们可能不会得到这方面的答案,除非我们找到适合拥有相应许可证的OEM的人。那或我们必须等待某人* ahem *绕过当前的签名限制。然后,也许这就是答案。 - Charles
网上有一些关于如何做的信息,但它都是未经验证的,我没有Surface平板电脑来测试它。显然,Windows有一些目录允许未签名的exes启动。还应该有允许您将应用程序列入白名单的注册表项。此外,它可以自签名可执行文件,使用“开发人员许可证”a.k.a. sideloading权限,或从MS获得某种大型供应商内部使用许可。最后一种方法是修补系统文件。这个问题主要是将小麦与谷壳分开。 - jdm
您当前的选项是无。放弃这个,也许一些越狱过程可能会给你这个选择,但你必须等待一段时间才能实现(如果有的话)。 - Rafael
对于初学者,可以看看这篇文章中的技术是否有效: forum.xda-developers.com/... - jdm


答案:


现在,您可以在Windows RT上运行任何app / exe: http://surfsec.wordpress.com/2013/01/06/circumventing-windows-rts-code-integrity-mechanism/


5
2018-01-07 08:44



令人印象深刻的好发现。有趣的是,Windows RT是Windows 8的完美端口,仅在事后才受到限制。 - jdm


请看这个帖子,你可以运行你的exe而没有CreateProcessA的Microsoft签名 http://forum.xda-developers.com/showthread.php?t=1944675


4
2017-11-23 09:06





现在实际上有一个“越狱”式的脚本:

http://forum.xda-developers.com/showthread.php?t=2092158

用法:
  启动RT设备并登录,允许它在桌面上放置约一分钟。
  运行runExploit.bat,等待它做的事情(不应超过20秒左右)
    按下音量调低
    等待runExploit.bat完成,回答它给出的任何提示。它们都应该是相当不言自明的。

它可能在运行脚本时崩溃,并且必须在每次重新启动后完成。另外,我自己没试过。在帖子中有一个指向可能有用的重新编译软件列表的链接。


2
2018-01-17 20:14