关于TW的一点新发现和疑问
刚才看到有个网友问如何去掉内置的百度搜索,而且我自己也很想研究一下如何修改这个东西(ini里不能修改),于是用ResHacker打开TW的主程序看了看,发现不少好东西。[code]
var twSaveObjUrl%%s = "%%SaveObjUrl";
var twObjectUID%%s = "%%ObjectUID";
function GetBufferFromUrl( bufferUrl )
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("GET",bufferUrl,false);
xmlHttp.send(null);
return xmlHttp.responseText;
}
function GetBufferInPost( bufferUrl,data)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("POST",bufferUrl,false);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(data);
return xmlHttp.responseText;
}
function youtubeMedia( )
{
strUrl = twSaveObjUrl%%s;
if( -1 != strUrl.search( /http:\/\/.*youtube\.com\/.*/ ) )
{
strRet = "";
if( -1 != strUrl.indexOf( "http://www.youtube.com/v/" ) )
{
strID = strUrl.replace( /http:\/\/www.youtube.com\/v\//g, "" );
strUrl = external.twQueryHistory( "http://www.youtube.com/p.swf?" + "*" + strID + "*", false );
strRet = strUrl.replace( /http:\/\/www.youtube.com\/p.swf\?/g, "http://www.youtube.com/get_video?" );
}
else
{
strRet = strUrl.replace( /.*\?/, "http://www.youtube.com/get_video?" );
}
external.twMediaPath( window, strRet );
}
}
function l6roomsMedia( )
{
strUrl = twSaveObjUrl%%s;
if( -1 != strUrl.search( /http:\/\/.*6rooms\.com\/.*vid=.*/ ) )
{
strID = strUrl.replace( /.*vid\=/g, "" );
strBuffer = external.twQueryHistory( "http://www.6rooms.com/v2.php?" + "*" + strID + "*", true );
if( strBuffer.length <= 0 )
{
strBuffer = GetBufferFromUrl( "http://www.6rooms.com/v2.php?" + strID );
}
if( strBuffer.length > 0 )
{
nStart = strBuffer.search( /\<file\>/g );
nEnd = strBuffer.search( /\<\/.ile\>/ );
strUrl = strBuffer.substring( nStart+6, nEnd );
external.twMediaPath( window, strUrl );
}
}
}
function iaskMedia( )
{
strUrl = twSaveObjUrl%%s;
if( -1 != strUrl.search( /http:\/\/.*iask\.com\/.*vid=.*/ ) )
{
strID = strUrl.replace( /.*vid\=/g, "" );
strTempUrl = "http://v.iask.com/v_ask.php?vid=" + strID;
strBuffer = external.twQueryHistory( strTempUrl + "*", true );
if( strBuffer.length <= 0 )
{
strBuffer = GetBufferFromUrl( strTempUrl );
}
if( strBuffer.length > 0 )
{
strRet = strBuffer.replace( /.*urldown\=/g, "" );
strTemp = decodeURIComponent( strRet );
external.twMediaPath( window, strTemp );
}
}
}
/* code bY kkf @ 2006 .10.13
kkf009@gmail.com
*/
function l56Media()
{
strUrl=twSaveObjUrl%%s;
if(-1!=strUrl.search(/http:\/\/www\.56\.com\/.*\.swf/))
{
var ObjUrl=document.getElementById(twObjectUID%%s)
var swfType=strUrl.substr(strUrl.lastIndexOf("\/")+1);
if( -1 != strUrl.indexOf( "v_player_blog_fp7_5" ) )
strRet=ObjUrl.childNodes(1).value;
else if( -1 != strUrl.indexOf( "v_player_site_fp7_5" ) )
strRet=ObjUrl.childNodes(2).value;
else
strRet=ObjUrl.src;
var tmp1=new Array();
var tmp2=new Array();
var tmp=new Array();
tmp1=strRet.split("?");
tmp2=(tmp1.length==2)?tmp1[1].split("&"):tmp1[0].split("&");
var strVar="([^=&]+)=([^&]*)";
var re=new RegExp(strVar,"");
for(var i=0;i<=tmp2.length-1;i++)
{
try {
tmp3=tmp2[i].match(re);
tmp[tmp3[1]]=tmp3[2];
}
catch(e){}
}
strTemp="http:\/\/"+tmp["host"]+"\/flvdownload\/"+tmp["pURL"]+"\/"+tmp["sURL"]+"\/"+tmp["user"]+"@56.com_56flv_"+tmp["URLid"]+"\.flv";
external.twMediaPath(window,strTemp);
}
}
/* code bY kkf @ 2006 .10.20
kkf009@gmail.com
*/
function tudouMedia(){
strUrl=twSaveObjUrl%%s;
if(-1!=strUrl.search(/http:\/\/www\.tudou\.com\/.*/)){
var srcObj = document.getElementById(twObjectUID%%s)
strRet = srcObj.childNodes(2).value
strBuffer = GetBufferInPost("http://www.tudou.com/player/info.php",strRet);
strBuffer = strBuffer.replace( /.*flv\|(http:.*\.flv).*$/,"$1")
external.twMediaPath(window,strBuffer )
}
}
youtubeMedia();
l6roomsMedia();
iaskMedia( );
l56Media();
tudouMedia();
[/code]
这些代码大概是用于快速保存用的吧(Alt+左键),居然收集了这么多,可见开发组的辛苦努力了,同时也省心了不少,不用嗅探地址了。赞一个
[code]
[General]
K0=http://*.google.com/*?q=*
S0=try{col=document.getElementsByName('q');external.SetSearchKey( %max_security_id,col[0].value );}catch (e) {}
K1=http://*.baidu.com/*?*=*
S1=try{col=document.getElementsByName('wd');var str;if( col.length )str= col[0].value;else{col=document.getElementsByName('word');if( col.length ){str = col[0].value;}}if( str.length != 0 ){external.SetSearchKey( %max_security_id,col[0].value );}} catch (e) {}
[/code]
这段不明白用处,似乎跟搜索引擎有关,不过删除掉百度的那段,打开TW还是会有,而且一切正常,请开发组指正,省的我乱改出问题了。先谢谢了。 .........开发组可不会来帮你改他的EXE....程序员都不会喜欢自己的东西被这样改吧....
添加搜索引擎请自己的选项里添加 不过我还是修改成功了。发现配置文件什么的全集中在EXE文件里,有希望只做成单文件绿色版耶。
开发组原谅我的好奇心吧。 :shy: :shy: 多的我不知道,就想问问LZ,Reshacker反编译了TW?? 反编译倒不可能 楼主贴的那些 用Reshacker是直接可以看到的东西 就是,只是些脚本类的代码,真正的怎能这么容易看到,至少要加上混淆代码的嘛 [quote]原帖由 [i]zombie[/i] 于 2006-11-28 19:11 发表
就是,只是些脚本类的代码,真正的怎能这么容易看到,至少要加上混淆代码的嘛 [/quote]
真正的C++代码怎么看得到!最多反汇编,不过感觉开发组应该没有加入花指令之类的东西吧,占空间费效率,从开发组没加壳这点就看得出。 媒体保存的更多脚本可以看这里
[url]http://bbs.ioage.com/viewthread.php?tid=20829&extra=page%3D1[/url]
第二个脚本是tw的关键词保留功能
页:
[1]