1

我写了一个 NPAPI 插件,我想实现一个可以自动安装插件的 NSIS 安装程序。

我搜索了很多,发现从 Chrome 浏览器 v25 开始,使用 Windows 注册表安装 *.crx 包不再起作用(默认情况下将禁用已安装的扩展程序)。谷歌似乎不允许未经用户批准的任何自动扩展安装。

但是,我还发现,如果我在用户的本地计算机上安装插件 dll(而不是 crx)并使用正确的 dll 路径将 reg 密钥写入 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MozillaPlugins\@myplugin.com/myplugin,则可以安装插件只要我的用户下载并执行了我的安装程序,它就会自动自动安装,而不会收到任何关于将要安装新插件的通知。

我的问题是为什么我的安装程序可以工作?这是否与 Google 的政策相矛盾?HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MozillaPlugins 下安装的所有插件不应该默认被阻止或禁用吗?

4

1 回答 1

1

扩展和 NPAPI 插件非常非常不同,对用户的相关风险也是如此,因此它们有不同的策略。

扩展程序不能静默安装,因为这最终会被用来安装恶意扩展程序,这些扩展程序会更改浏览器设置并使其难以改回,轻松从用户访问的站点收集敏感信息,在用户访问的每个站点上注入额外的广告(和/或将支持网站的广告替换为仅向恶意软件作者付费的广告)等。

另一方面,NPAPI 插件在浏览器中完全不做任何事情,除非页面专门加载。它们不像恶意软件那样特别有趣,因为 NPAPI 插件为您提供的附加功能是运行本机代码的能力。但是,如果恶意软件作者可以让某人运行安装程序来安装插件,他们可以轻松地安装其他东西,而不是在后台连续运行本机代码,而不是仅在用户访问触发插件的站点时(以及他们可以比插件更容易地隐藏它,插件必须位于已知位置并显示在 Chrome 中)。

NPAPI 的危险在于利用已安装的非恶意插件,而安装恶意扩展是一个真正的问题。

于 2013-11-11T15:48:12.087 回答