0

他们是在反编译闪存还是类似的东西?我无法想象他们是怎么做到的。

4

1 回答 1

1

只是推测,但他们可以看到 Flash SWF 文件正在连接到什么(即根据 SWF 文件发出的 HTTP 请求查找 FLV url)。一旦他们这样做,他们可以做以下两件事之一:

1) 将 url 排队到以下进程:i) 下载 FLV,ii) 将 FLV 剪断为 10 秒长,iii) 添加淡入/淡出,iv) 保存。

或者

2)他们可以每次使用原始url直接连接到FLV,并且只播放10秒。然后,他们可以在视频顶部添加淡入/淡出等效果。尽管,

我怀疑他们会使用第二种方法,因为它可能会导致人们的服务器出现烦人的峰值,并且可能会增加延迟。第一种方法允许 Bing 服务器缓存视频,并将它们托管在一个专门用于视频流的可靠位置。

更新

想一想,还有另一种方法可以做到这一点:

我知道在 PHP 中,您可以即时反编译已编译的 SWF。它相当快,这将是一种提取任何 url 的简单方法。当然,微软不会使用 PHP,但我很确定他们有一个用 C++ 编写的等效库(我很确定他们使用 C++)。

但即使他们正在寻找对 FLV 的 HTTP 请求,他们也可能会在轻量级“浏览器”中运行一个爬虫。浏览器需要渲染 flash 以便发出 HTTP 请求,然后记录所有出站请求。如果您正在运行自己的服务器,这并不是一项太难的任务,您可以只拥有一个后台进程,它会在那里搜索日志以查找 FLV 请求。创建自己的浏览器来执行此操作可能听起来令人生畏,但实际上非常简单(ish):在 C# 中,您可以向 URL 发出 HttpRequest,扫描文档中的任何链接,对链接进行排队,请求每个链接,然后以这种方式循环(确保您没有访问您已经访问过的链接)。在 PHP 中,您可以卷曲 URL 并执行相同操作。每当您找到 SWF 链接时,

于 2010-05-12T15:45:52.030 回答