vb.net Flash 电影只能在 Chrome 中呈现,不能在 WebBrowser 控件中呈现?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32058697/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 19:24:20  来源:igfitidea点击:

Flash movie only renders in Chrome, not WebBrowser control?

vb.netvideovectorwebbrowser-control

提问by Drarig29

I'm getting an output message (Vector smash protection is enabled) in the debugging output window (Visual Studio) when I navigate to this URLwith a WebBrowser.

我得到的输出消息(Vector smash protection is enabled当我浏览到在调试输出窗口(Visual Studio中))这个网址WebBrowser

The URL redirects to an embedded video player from Dailymotion. It should look like this :

该 URL 从Dailymotion重定向到嵌入式视频播放器。它应该是这样的:

Image of correctly running URL

正确运行 URL 的图像

But it looks like this :

但它看起来像这样:

enter image description here

在此处输入图片说明

What this message means? Why do I have a black screen (the video isn't shown)? How to fix it?

这个消息是什么意思?为什么我有黑屏(视频没有显示)?如何解决?

Edit :You can see all the code in the last screenshot...

编辑:您可以在最后一个屏幕截图中看到所有代码...

回答by Rolf of Saxony

I noticed something similar myself.
I got the following when installing python webbrowser:

我自己也注意到了类似的事情。
我在安装 python webbrowser 时得到以下信息:

Vector smash protection is enabled.
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

启用矢量粉碎保护。
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02,混合模式)

I am convinced that it is to prevent a type of denial of service attack, just released in Java 1.7, with no fanfare.
see:
http://docs.oracle.com/javase/7/docs/api/java/util/Vector.html
and
http://www.oracle.com/technetwork/java/seccodeguide-139067.html

我确信这是为了防止一种拒绝服务攻击,它刚刚在 Java 1.7 中发布,没有大张旗鼓。
请参阅:
http: //docs.oracle.com/javase/7/docs/api/java/util/Vector.html

http://www.oracle.com/technetwork/java/seccodeguide-139067.html

Edit 1:

编辑1:

As my issue was coming from the pdf viewer atril, I approached the writers of the program and they have informed me that the Vector smash protection is enabledmessage is being issued by Webkit. Atril added a new epub backend to their code and it uses Webkit.
A cursory search suggests that it is a defence against a stack smash or heap spraying attack, although don't hold me to it.
The reason that this message seems to be popping up across browsers, viewers and indeed operating systems, appears to be directly related to how many programs now use webkit under the hood, as it were.
Here are 2 lists of code making use of webkit:

由于我的问题来自 pdf 查看器atril,我联系了该程序的作者,他们告诉我该Vector smash protection is enabled消息是由 Webkit 发出的。Atril 在他们的代码中添加了一个新的 epub 后端,它使用了 Webkit。
粗略的搜索表明它是对堆栈粉碎或堆喷射攻击的防御,尽管不要让我坚持。
这条消息似乎跨浏览器、查看器甚至操作系统弹出的原因似乎与现在有多少程序在幕后使用 webkit 直接相关。
以下是 2 个使用 webkit 的代码列表:

http://trac.webkit.org/wiki/ApplicationsGtk
http://trac.webkit.org/wiki/Applications%20using%20WebKit

http://trac.webkit.org/wiki/ApplicationsGtk
http://trac.webkit.org/wiki/Applications%20using%20WebKit

As usual, if in doubt, your own research may prove more effective than mine but I for one am much happier about the message, now that I know what it is.
Should I come across anything else germane, I'll edit this post.

像往常一样,如果有疑问,你自己的研究可能证明比我的更有效,但我对这个信息感到更高兴,因为我知道它是什么。
如果我遇到任何其他相关的东西,我会编辑这篇文章。

回答by EricLaw

The message "Vector smash protection is enabled." is emitted by Flash.ocx (you can find it in the DLL). It's likely related to this security mitigation: http://googleprojectzero.blogspot.com/2015/07/significant-flash-exploit-mitigations_16.html

消息“矢量粉碎保护已启用”。由 Flash.ocx 发出(您可以在 DLL 中找到它)。它可能与此安全缓解措施有关:http: //googleprojectzero.blogspot.com/2015/07/important-flash-exploit-mitigations_16.html

回答by Luillyfe

You can deal with this problem using the chrome options and creating a desired capabilities but first of all you need to consider:

您可以使用 chrome 选项并创建所需的功能来处理此问题,但首先您需要考虑:

1: the value you should to put in 'user-data-dir' is the same you can find out in the route chrome://version/ in Google Chrome. Let me explain that with a picture (at the end of this answer).

1:您应该放入“user-data-dir”的值与您可以在谷歌浏览器的 chrome://version/ 路由中找到的值相同。让我用一张图片解释一下(在这个答案的末尾)。

ChromeOptions options = new ChromeOptions();
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
options.addArguments("user-data-dir=/Users/YourUser/Library/Application Support/Google/Chrome/Profile 1");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);

?And afterward you need to add this options to your Driver:

?然后你需要把这个选项添加到你的驱动程序中:

driver = new ChromeDriver(capabilities);

So, this is the best way to make request to a page that has Vector smash protection enabled.

因此,这是向启用了 Vector smash 保护的页面发出请求的最佳方式。

user-data-dir value

用户数据目录值

回答by Jon Hornstein

Sorry but I can't spent time but the following was printed on my bash terminal.

抱歉,我不能花时间,但我的 bash 终端上打印了以下内容。

Vector smash protection is enabled.
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
...