Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在windows系统上执行命令的Chrome PPAPI插件_Windows_Google Chrome_Plugins_Google Nativeclient_Ppapi - Fatal编程技术网

在windows系统上执行命令的Chrome PPAPI插件

在windows系统上执行命令的Chrome PPAPI插件,windows,google-chrome,plugins,google-nativeclient,ppapi,Windows,Google Chrome,Plugins,Google Nativeclient,Ppapi,我们以前使用NPAPI插件从我们的网站在windows系统上执行一些命令。现在NPAPI已经不存在了,我们正在尝试将东西移植到PPAPI或NaCl,但似乎存在很多问题 谷歌似乎为VisualStudio2010和VisualStudio2012提供了vs_插件,但在链接阶段尝试将代码编译为Pepper插件时,它总是给出错误。该错误与_MSC_VER失配有关,因为PPAPI库中的对象文件的版本似乎为1800,其中VS2010和VS2012的值应分别为1600或1700 为了解决这个问题,我们尝试下

我们以前使用NPAPI插件从我们的网站在windows系统上执行一些命令。现在NPAPI已经不存在了,我们正在尝试将东西移植到PPAPI或NaCl,但似乎存在很多问题

  • 谷歌似乎为VisualStudio2010和VisualStudio2012提供了vs_插件,但在链接阶段尝试将代码编译为Pepper插件时,它总是给出错误。该错误与_MSC_VER失配有关,因为PPAPI库中的对象文件的版本似乎为1800,其中VS2010和VS2012的值应分别为1600或1700
  • 为了解决这个问题,我们尝试下载了一个旧版本的pepper,但它不能从SDK中获得。不知何故,我们在互联网上找到了pepper_25版本,但似乎插件无法使用postmessage功能
  • 尝试使用scriptableobjects,但看起来对它们的支持早在Chrome13中就被删除了
  • 如果我们试图将其构建为NaCl插件,那么我们就无法访问诸如ShellExecuteA之类的windows函数,因为不包括相应的库。尝试包含库只会导致更多错误
  • 这可以通过使用带有本机消息传递的扩展来实现,但同样,除非扩展在网页上放置内容脚本,否则网站无法直接与扩展交互。由于该网站的用户可以在他们自己的系统上安装该网站,我们必须扫描并在所有网页上添加内容脚本,这似乎不是一个好的选择,因为它可能会导致系统减速
  • TLDR:

    现在的问题是,我们如何构建一个可以在windows上执行命令的chrome插件


    感谢和问候

    简单的回答是,(根据设计)没有办法分发能够访问本机平台API的插件。VS加载项有一种编译方法,但它只能在本地计算机上运行。您可以开发NaCl或PNaCl插件,但它仅限于NaCl的api和Javascript。如果您需要本机API,那么您可能想看看。

    使用任何技术构建允许任意网站执行本机命令的插件都是非常危险的。您是否考虑过将本机消息与说明结合起来,让希望自己托管站点的任何人制作一个适用于其站点实例的自定义扩展版本?那么至少你将新的攻击面限制在特定的站点上。谢谢Derek,我将为此开发本机主机和扩展。