有没有办法重写(或劫持)从浏览器中的 flash (swf) 文件发出的绝对 URL 请求?
例如
我有一个请求http://example.com/myImage.png的 Flash 应用程序
flash 应用程序中的代码无法更改,但我希望能够使用另一个 flash 或一些 javascript 在请求图像时写入该 URL - 类似于
example.com/myImage.png?u=123456
有没有办法重写(或劫持)从浏览器中的 flash (swf) 文件发出的绝对 URL 请求?
例如
我有一个请求http://example.com/myImage.png的 Flash 应用程序
flash 应用程序中的代码无法更改,但我希望能够使用另一个 flash 或一些 javascript 在请求图像时写入该 URL - 类似于
example.com/myImage.png?u=123456
您可能有机会这样做,您正在谈论 AS2 swf。AVM1 对这种肮脏的把戏非常宽容,但 AVM2 不允许。
因此,假设是一个 AS2 SWF,您可以编写一个封装 swf,它劫持 MovieClipLoader 或 loadMovie 或任何原始 swf 正在使用的东西(您可能必须反编译才能知道)。
劫持位将相当直接,例如:
_global['MovieClipLoader'] = MyClass;
一旦 MyClass 接到电话,您可以添加任何您想要的内容,然后进行实际调用。
话虽如此,我知道 _global 技巧适用于自定义类,但不确定它是否适用于像 MovieClipLoader 这样的本机类。
对不起,这是我能想到的最好的:/
胡安