液压弯管器:如何提取内嵌于flash中的视频文件地址?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 05:31:53
这个问题之前有人提过,但没有解决,如下:
视频只可以在线看,而不可以下载.
右键点击出现的下拉菜单是看FLASH时应该出现的,如:"品质.放大,缩小..关于FLASH PLAYER"等,而内嵌入这个FLASH的视频不知道如何提取,请指教.

他是把视频文件地址内嵌于flash文件中,由于flash是编译过的地址就看不到了。

我要下载的视频在这里:
http://www.kfc.com.cn/kfccda/minisite/tvcsurvey/index2.aspx

下不了好郁闷。

首先,允许我打击一下这位tingyu527 专家.

您的回答完全有失一位专家水平的回答.希望您不要如此误导提问者.

其次.关于1和2楼的回答

你们只看见了表面的东西

这里我来完全回答这个问题

第一点:他们所提供的FLASH是一个壳,这个壳是用来引导其它SWF或者FLV的

这个壳写了一个FLV访问的类.

内容如下:
#initclip
class FLVStream
{
var _url, sound_sd, video_vd, enabled, text, autoPlay, autoRewind, autoSize, isLive, maintainAspectRatio, _timeOut, isPlaying, isLoaded;
var connection_nc, stream_ns, sound_mc, parent, _initTime, _intervalID, bytesLoaded, bytesTotal, _playID, time;
function FLVStream(videoInstanceName, url)
{
if (url == undefined || videoInstanceName == undefined)
{
return(undefined);
} // end if
_url = url;
sound_sd = new Sound(this.sound_mc);
video_vd = videoInstanceName;
this.initialize();
} // End of the function
function __set__url(url)
{
_url = url;
this.initialize();
return(this.__get__url());
null;
} // End of the function
function __get__url()
{
return(_url);
} // End of the function
function initialize()
{
enabled = false;
text = "缓冲中...";
connection_nc = new NetConnection();
connection_nc.connect(null);
stream_ns = new NetStream(connection_nc);
video_vd.attachVideo(stream_ns);
sound_mc.attachAudio(stream_ns);
parent = this;
static function onStatus(infoObject)
{
if (infoObject.code == "NetStream.Buffer.Flush")
{
trace("ok");
parent.initialize();
} // end if
if (infoObject.code == "NetStream.Buffer.Flush")
{
trace("ok");
parent.initialize();
} // end if
if (infoObject.code == "NetStream.Buffer.Full")
{
parent.onLoadComplete(true);
} // end if
} // End of the function
stream_ns.play(this.__get__url());
if (autoPlay == true)
{
} // end if
} // End of the function
function onLoadStart()
{
_initTime = getTimer();
_intervalID = setInterval(this, "checkBytesLoaded", 500);
} // End of the function
function checkBytesLoaded()
{
var _l2 = bytesLoaded / bytesTotal;
this.onLoadProgress(_l2);
trace("percent: " + _l2);
if (_l2 == 1)
{
this.onLoadComplete(true);
clearInterval(_intervalID);
} // end if
if (getTimer() - _initTime > _timeOut)
{
this.onLoadComplete(false);
clearInterval(_intervalID);
} // end if
} // End of the function
function onLoadComplete(success)
{
if (success)
{
isLoaded = true;
if (autoPlay)
{
_root.video_button.gotoAndStop(2);
clearInterval(_playID);
_playID = setInterval(this, "onPlay", 500);
isPlaying = true;
} // end if
}
else
{
isLoaded = false;
} // end if
} // End of the function
function play()
{
trace(isLoaded);
if (isLoaded)
{
if (!isPlaying)
{
clearInterval(_playID);
_playID = setInterval(this, "onPlay", 500);
trace("_intervalID: " + _intervalID);
isPlaying = true;
stream_ns.pause();
} // end if
} // end if
} // End of the function
function stop(bool)
{
isPlaying = false;
clearInterval(_playID);
if (bool)
{
video_vd.clear();
stream_ns.close();
}
else
{
stream_ns.pause();
} // end if
} // End of the function
function gotoAndPlay(num)
{
if (isLoaded)
{
stream_ns.seek(num);
if (!isPlaying)
{
stream_ns.pause();
} // end if
isPlaying = true;
} // end if
} // End of the function
function gotoAndStop(num)
{
if (isLoaded)
{
isPlaying = false;
stream_ns.seek(num);
stream_ns.pause();
} // end if
} // End of the function
function onPlay()
{
var _l4 = time;
var _l5 = Math.floor(_l4 / 60);
var _l3 = Math.floor(_l4 % 60);
if (_l3 < 10)
{
_l3 = "0" + _l3;
} // end if
text = _l5 + ":" + _l3;
} // End of the function
autoPlay = true;
autoRewind = true;
autoSize = true;
isLive = false;
maintainAspectRatio = true;
_timeOut = 30000;
isPlaying = false;
isLoaded = false;
} // End of Class
#endinitclip

看完了他的类后,我们具体分析如下:

他所引用的真正视频地址是:
my_flv = new FLVStream(my_video, "KFC_encourage_mand_45s_Mar24_final256K_Stream_002.swf");

是一个他所建立壳flvstrem对象的一个连接.

那么我们可以尝试下载

http://www.kfc.com.cn/kfccda/minisite/tvcsurvey/images/KFC_encourage_mand_45s_Mar24_final256K_Stream_002.swf

OK,整体结构解释完毕.
希望对楼主有帮助.

其实当你看到这个视频时,它已经在你的硬盘里了,就在网页临时文件夹里(Temporary Internet Files

如果照 孤羽凌火 的方法做 是不是先该破解这个SWF文件呢?