随意下载VIEWGOOD,又名远古VOD

13 views
Skip to first unread message

Joe

unread,
Apr 18, 2007, 8:51:26 PM4/18/07
to Joe's lounge
远古VOD,也叫VIEWGOOD,播放器叫VGPLAYER, webplayer,realmedia,webmedia。非常多的免费或收费站在
使用这个系统,只能在线观看,不能下载,一旦下载,就可以不用用户名密码,随意下载,由于协议特殊,和HTTP非常相似,经过我不依不饶的研究,终于破

优点:不过期,多线程,速度快,免费下载,免登陆,安全,不泄露用户名和密码等私人信息!

摘要:远古VOD是一套在线视频系统,但是,他并不适合作为收费电影系统,这里有个缺陷,也是弱点,正是这个弱点,才能出现我这篇文章


测试网站:http://www.vod2.cn/

使用工具:网络嗅探器 4.7版(去GOOGLE搜索)

破解方法,(大家按我的方法练习下吧,也为了搞明白什么是VIEWGOOD,嘻嘻):
1,下载安装播放器,http://t001o.host38.westhot.com/download/WebPlayer.exe

2,进入,http://www.vod2.cn/

3,随便进一个,比如,布衣神相 http://www.vod2.cn/html/1118.html

4,打开 网络嗅探器 ,设置好 ,工作模式为 获取URL就可以了

5,开始嗅探,点你想看的集数,开始播放

6,得到一批http://218.71.142.91/webmedia/we ... ;xxxxxx&xxxxxxx这样的地址


7,点右键,
"查看数据包",例如
GET /webmedia/webmedia.tfs?
cmd=1&uuid=12345&prog_id=11111&server_id=XXX&customer_id=12345&local=XXXXXX&proxy=&progtime=2004&filetype=rm&requesttype=1&Offset=0
HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/vnd.ms-powerpoint, application/vnd.ms-excel, application/
msword, application/vgplayer, application/x-shockwave-flash, */*
Connection: Keep-Alive
Host: 218.71.142.91
User-Agent: Viewgood/1.0 (1; 1; 1)
Accept-Encoding: gzip, deflate


一个一个找,直到找到Offset=0的数据包

说明一下各字段的意思:其中
prog_id=11111 为 电影的序列号,决定你下的是什么电影,必须
customer_id=12345 为用户ID,为了不泄露可以随便换一个数字
uuid=12345 为随机数字,可以换一个数字
Offset=0,为偏移地址,决定开始的位置
Host: 218.71.142.91 为要连接的主机名
其他的可以自行测试

8,在那列上点右键,点"简易下载软件下载",出现《简易HTTP下载软件》的"新建任务"对话框。,"重命名"填后缀名为RMVB的文件名,"确
定"就可以下了。

9,另外,如果您心情好,你也可以把以上数据发给你的朋友,并不泄露用户名和密码,相当安全

断点续传:要断点续传,修改下载任务属性,把Offset=0 改为 下完的文件大小
这个下完的文件大小可以在任务的完成数那里看到
就可以继续下了

断点续传图解

如果你的一个朋友是某收费VIEWGOOD电影站的VIP,可以叫你朋友把他嗅探到的数据包发给你,你也可以下了

如朋友发给你如下数据包

GET /webmedia/webmedia.tfs?
cmd=1&uuid=12345&prog_id=11111&server_id=XXX&customer_id=12345&local=XXXXXX&proxy=&progtime=2004&filetype=rm&requesttype=1&Offset=0
HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/vnd.ms-powerpoint, application/vnd.ms-excel, application/
msword, application/vgplayer, application/x-shockwave-flash, */*
Connection: Keep-Alive
Host: 218.71.142.91
User-Agent: Viewgood/1.0 (1; 1; 1)
Accept-Encoding: gzip, deflate

你把这些文字复制到简易HTTP 下载软件的"新建任务"中,你也可以免费下了,哈哈哈~~~~

Joe

unread,
Apr 18, 2007, 9:58:04 PM4/18/07
to Joe's lounge
对于飞---X--的--电---影难下载的问题,首先要从飞---X--用了什么的技术令我们的下载软件失效,他们主要是利用服务器端对
realplayer播放器在用http连接时候所发出特殊的参数,这些参数是公开的,不过他们都是主要用在rtsp协议才必须用到的附加参数,所以
FlashGet!和NetTransport 虽然支持rtsp协议但是对于--飞---X---他们都有同一个缺陷就是在用http协议来下载文件
不会像realplayer那样给足所有参数,但他们两在用rtsp下载文件的时候就会给出那些参数,所以如果我们建议上述两个软件修正这个不知道算不
算是bug的bug,因为一般下载软件都不会这样开发(为了一个在线电影院的的反--盗--链技术而修正的)但事实我们可以利用开源代码的下载软件进行
简单的修改就可以在http模式下载那些文件:

如果你不想修改一个开源代码下载软件的话,你都可以采用wget这个GNU出的下载软件,现在inux和unix下还有许多人用wget进行自动批处理
的下载任务的。linux的软件的高度可自由,令到这次下载成功的。

我现在举一个例;

http://XX.XXX.XXX.X/page/5657.html

下面是用《影音嗅探专家》这个软件可以到skycn.com

找到的文件下载链:

http://XXX.XXX.XX.XXX/i/tai_shan2/tai_shan2.rmvb?MType=RP&PIN=A0EC0204F43276CE80943374544105CE

首先解析下这条链得功能:

MType=RP&PIN=A0EC0204F43276CE80943374544105CE

PIN=A0EC0204F43276CE80943374544105CE

这串值是根据ip地址和时间用一定得方程生成得密码。如果你把上边的链就随便发到电影论坛去,其他人是没有可能看到的

首先他的ip是和你不同就已经不能了,其次因为时间有关,所以给续传带来问题了,其实凡是 电影文件?MType=RP&PIN=都是用同一个反盗链
的软件。基本没有拿到用户名和密码(飞X使用路由的ip表控制访问者的ip是不是本地ip来确定访问权限,这样就不用建立一个用户的数据表)是没有可能
下载的所以发上述类型的链基本没有用了。但是因为vod服务器缓慢令到mm经常说很卡。。。,所以我用一晚研究正版用户如何下载的方法,下载后她看就不
会有卡的现象了:,当然对于DRM技术我就没有办法,不过看过一些英文网页说外国有破解的算法了。

都是但你用这条链在上述的两个下载软件都是不能下的:

flahget:蓝色部分是下载软件上传地http参数(正式说应该式http指令)

Sun Jun 19 07:16:41 2005 正在连接 xxx.xxx.xx.xxx [IP=xxx。xxx。xxx。xxx:80]
Sun Jun 19 07:16:41 2005 已连接.
Sun Jun 19 07:16:41 2005 GET /i/tai_shan2/tai_shan2.rmvb?
MType=RP&PIN=A0EC0204F43276CE80943374544105CE HTTP/1.1
Sun Jun 19 07:16:41 2005 Host: xxx.xxx.xxx.xxx

Sun Jun 19 07:16:41 2005 Accept: */*
Sun Jun 19 07:16:41 2005 Referer: http://xxx.xxx.xx.xxx/i/tai_shan2
Sun Jun 19 07:16:41 2005 User-Agent: RMA/1.0 (compatible; RealMedia)
Sun Jun 19 07:16:41 2005 Pragma: no-cache
Sun Jun 19 07:16:41 2005 Cache-Control: no-cache
Sun Jun 19 07:16:41 2005 Connection: close

影音传送带:蓝色部分是下载软件上传地http参数(正式说应该式http指令)

2005-06-19 07:17:39.224 正在连接 202.104.13.216:80
2005-06-19 07:17:39.274 已连接
2005-06-19 07:17:39.274 GET /i/tai_shan2/tai_shan2.rmvb?
MType=RP&PIN=A0EC0204F43276CE80943374544105CE HTTP/1.1
2005-06-19 07:17:39.274 Host: xxx.xxx.xx.xxx
2005-06-19 07:17:39.294 Accept: */*
2005-06-19 07:17:39.294 User-Agent: Mozilla/4.0 (compatible; MSIE
5.00; Windows 98)
2005-06-19 07:17:39.294 Connection: Keep-Alive

现在我就用wget加realplayer参数来下载他把,

下面是一行很长地命令行:

wget -d -v -c "http://xxx.xxx.xx.xxx/i/tai_shan2/tai_shan2.rmvb?
MType=RP&PIN=A0EC0204F43276CE80943374544105CE" --user-agent="RMA/1.0
(compatible; RealMedia)" --header=ICY-MetaData:1 --header=bandwidth:
786432 --header=ClientID:winNT_5.1_6.0.12.1069_RealPlayer_R30CND_zh-
CN_686 --header=GUID:00000000-0000-0000-0000-000000000000 --
header=RegionData:0 --header=SupportsMaximumASMBandwidth:1 --
header=Accept-Language:zh-CN, zh, * --header=Accept-Encoding:gzip

命令行结束!!

请计住上边是一正条命令要输入的变化的地方只是文件的实质下载地址,其如都不变

下载过程输出:

Setting --verbose (verbose) to 1
Setting --user-agent (useragent) to RMA/1.0 (compatible; RealMedia)
Setting --header (header) to ICY-MetaData:1
Setting --header (header) to bandwidth:786432
Setting --header (header) to
ClientID:winNT_5.1_6.0.12.1069_RealPlayer_R30CND_zh
-CN_686
Setting --header (header) to GUID:00000000-0000-0000-0000-000000000000
Setting --header (header) to RegionData:0
Setting --header (header) to SupportsMaximumASMBandwidth:1
Setting --header (header) to Accept-Language:zh-CN,
Setting --header (header) to Accept-Encoding:gzip
DEBUG output created by Wget 1.10 on Windows.

--07:29:18-- http://xxx.xxx.xx.xxx/i/tai_shan2/tai_shan2.rmvb?MType=RP&PIN=A0EC
0204F43276CE80943374544105CE
=>
`tai_shan2.rmvb@MType=RP&PIN=A0EC0204F43276CE80943374544105CE'
Connecting to xxx.xxx.xx.xxx:80... seconds 0.00, connected.
Created socket 1956.
Releasing 0x003f5100 (new refcount 0).
Deleting unused 0x003f5100.

//现在wget上传如下指令给服务器

---request begin---
GET /i/tai_shan2/tai_shan2.rmvb?
MType=RP&PIN=A0EC0204F43276CE80943374544105CE HT
TP/1.0
User-Agent: RMA/1.0 (compatible; RealMedia)
Accept: */*
Host: xxx.xxx.xx.xxx
Connection: Keep-Alive
ICY-MetaData: 1
bandwidth: 786432
ClientID: winNT_5.1_6.0.12.1069_RealPlayer_R30CND_zh-CN_686
GUID: 00000000-0000-0000-0000-000000000000
RegionData: 0
SupportsMaximumASMBandwidth: 1
Accept-Language: zh-CN,
Accept-Encoding: gzip

---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 200 OK
Content-Length: 270681230
Content-Type: application/vnd.rn-realmedia
Last-Modified: Thu, 09 Jun 2005 07:33:00 GMT
Accept-Ranges: bytes
ETag: "09e5b76c56cc51:379"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Sat, 18 Jun 2005 23:32:10 GMT
Connection: keep-alive

---response end---
200 OK
Registered socket 1956 for persistent reuse.
Length: 270,681,230 (258M) [application/vnd.rn-realmedia]

0% [ ] 616,352 108.37K/s
ETA 44:39

Eta 代表剩余的时间:文件的大小258M,有rtsp协议的续传技术不是太明白,所以虽然wget支持http协议和ftp协议的断点续传,用
wget是不支持rtsp的多线程下载但支持断点续传的。所以要多线程下载,我们只有期望flashget或者其他下载软件的改进,或者找到支持多线程
的开放原代码软件,然后修改他。

为了有一个交好的图形界面给大家用我修改了一个开源代码的java下载软件 <JGetFE>我们只要用他和<影音嗅探专家>合一使用就可以下载了但实
际上,如果我的会用java写多一个分析第一次返回的 tex/html的内容就可以不用<影音嗅探专家>的辅佐了自动找到文件的链,不过哪个java
的启动可能慢些但绝对可以用的。哪个软件我发到群里文件名是 JGetFE.jar

我只是把其中一个

HTTPDownloadConnection.java文件修改了他如下内容:

private void writeRequest (OutputStream out, String method, long
offset, long range) throws IOException {
out.write ((method + " " + file + " HTTP/1.1\r\n" +
"Accept: */*\r\n" +
"Host: " + host + "\r\n" +
"User-Agent: RMA/1.0 (compatible; RealMedia)\r\n" +
"Icy-MetaData: 1\r\n"+
"Bandwidth: 786432\r\n"+
"ClientID: WinNT_5.1_6.0.12.1069_RealPlayer_R30CND_zh-
CN_686\r\n"+
"GUID: 00000000-0000-0000-0000-000000000000\r\n"+
"Language: zh-CN, zh, *\r\n"+
"RegionData: 0\r\n" +
"SupportsMaximumASMBandwidth: 1\r\n" +
"Accept-Language: zh-CN, zh, *\r\n"+
"Accept-Encoding: gzip\r\n" +
(offset != -1 ? "Range: bytes=" + offset + "-" +
(range != -1 ? range+"/*" : "") + "\r\n" : "")
+
"Connection: close\r\n\r\n").getBytes ()); //Damn,
thats a mouthful
}

我已经把他打包编译出来放到qq群里,而且里面是有原代码的,你可以用winrar解压那些代码,如果你想运行他只要你已经安装好java的jre就可
以了。

输入命令行:

java -jar JGetFE.jar

就可以运行:)

具体如何到这个www.java.com就可以下载java的jre了

不过我最后都是觉得用vbs写个自动脚本+wget是更好的处理的方法了

哪个脚本和wget我打包了你们可以到

http://oyjj.myrice.com/kits.zip

下载教程

http://oyjj.myrice.com/download.html

下载的(要用右键另存为才能下载的!!)

解压到d:\wget

不过解压到其他位置都可以的

不过你要修改我写的oyjj_xxvod_download_kit.vbs

文件里的参数

首先到vod站点copy一个和下边绿色的部分类似的链接

<PARAM NAME="SRC" VALUE="http://xxx.xxxxx.xxxt/url.asp?url=http://
xxx.xxx.xx.xxx/e/dong_jing_chao_kong_bu/dong_jing_chao_kong_bu.rmvb">

然后运行解压后的kit.zip里面的 oyjj_fsvod_download_kit.vbs文件就可以

还有一点要注意的是wget可以用-O 文件名来指定下载后的文件名,但由于f-s-v-o-d返回一个smil文件(实际是包含两个rm文件的
url,第一个是电信的广告,第二个才是真正的电影文件的url)所以我为了写哪个自动脚本所以就用wget的 "-i 文件名"直接导入哪个包含两个
url的文件了所以下载后不能指定下载的文件,所以就不能用 -O filename 来给下载的文件重命名,所以这样也带给wget 下载的电影文件
名是一个很长的文件名,而且哪个文件名实际是电影文件的url的最后一个 "/"的打后开始的所有字符串,所以如果你们下载后见到一个很长的文件名时候
就只要把他重命名就可以了正常播放,经过测试发现wget实际是可以续传的,但是就因为文件名的部分是一个根据时间和ip地址组合的编码字符串,所以要
续传必定要用-O filename 来指定输出的文件名,所以只要你们只要用notepad 打开 tmp_url.smil文件就可以得到电影文件
的url跟着就把它

按下边的命令行写进一个批处理文件就可以,实际在2000后可以直接在cmd运行但在98 me==的dos模式最长的字符串只有2百几所以不能给足够
的参数给wget,但作成一个批处理文件就能在任何windows都能够正常工作,

命令行如下:

wget.exe -d -v -c -t0 --user-agent="RMA/1.0 (compatible; RealMedia)"
--header="ICY-MetaData:1" --header="bandwidth:786432" --
header="ClientID:winNT_5.1_6.0.12.1069_RealPlayer_R30CND_zh-CN_686" --
header="GUID:00000000-0000-0000-0000-000000000000" --
header="RegionData:0 " --header="SupportsMaximumASMBandwidth:1" --
header="Accept-Language:zh-CN, zh, *" --header="Accept-
Encoding:gzip" -O 要续传的文件名最好是要用双引号包住完整路径的文件名,例如"c:\mm\my_mm\mm.rmvb"
电影文件的url就是tmp_url.smil文件的第二行的

注意;如果你要续传的文件在是隔一段较长时间后或者用adsl的断线重拨号的因为动态ip的原因就要重新下载tmp_url.smil文件再把里面的第
二行copy出来,因为哪个url已经变,虽然文件还是哪个,但是一定要重新获得哪个url才行可以用《影音嗅探专家》做到的

不过如果想断点续传不这样烦,就要等待我在暑假写java下载软件

哈哈好象又给自己卖广告

:)

我写的vbs脚本下载地址

http://spaces.msn.com/members/hno3cn/Blog/cns!1pqlxhSMZJycUx9PgwQcIIFw!268.entry

我打算迟些再用python再写一遍,以支持最新的反xx技术

Reply all
Reply to author
Forward
0 new messages