Board logo

标题: 关于TW的一点新发现和疑问 [打印本页]

作者: ayanamist    时间: 2006-11-28 16:52     标题: 关于TW的一点新发现和疑问

刚才看到有个网友问如何去掉内置的百度搜索,而且我自己也很想研究一下如何修改这个东西(ini里不能修改),于是用ResHacker打开TW的主程序看了看,发现不少好东西。
  1. var twSaveObjUrl%%s = "%%SaveObjUrl";
  2. var twObjectUID%%s = "%%ObjectUID";


  3. function GetBufferFromUrl( bufferUrl )
  4. {
  5.         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  6.         xmlHttp.open("GET",bufferUrl,false);
  7.         xmlHttp.send(null);
  8.         return xmlHttp.responseText;
  9. }
  10. function GetBufferInPost( bufferUrl,data)
  11. {
  12.         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  13.         xmlHttp.open("POST",bufferUrl,false);
  14.         xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  15.         xmlHttp.send(data);
  16.         return xmlHttp.responseText;
  17. }

  18. function youtubeMedia( )
  19. {
  20.         strUrl = twSaveObjUrl%%s;
  21.         if( -1 != strUrl.search( /http:\/\/.*youtube\.com\/.*/ ) )
  22.         {
  23.                 strRet = "";
  24.                 if( -1 != strUrl.indexOf( "http://www.youtube.com/v/" ) )
  25.                 {
  26.                         strID = strUrl.replace( /http:\/\/www.youtube.com\/v\//g, "" );
  27.                         strUrl = external.twQueryHistory( "http://www.youtube.com/p.swf?" + "*" + strID + "*", false );
  28.                         strRet = strUrl.replace( /http:\/\/www.youtube.com\/p.swf\?/g, "http://www.youtube.com/get_video?" );
  29.                 }
  30.                 else
  31.                 {
  32.                         strRet = strUrl.replace( /.*\?/, "http://www.youtube.com/get_video?" );
  33.                 }
  34.                 external.twMediaPath( window, strRet );
  35.         }
  36. }


  37. function l6roomsMedia( )
  38. {
  39.         strUrl = twSaveObjUrl%%s;
  40.         if( -1 != strUrl.search( /http:\/\/.*6rooms\.com\/.*vid=.*/ ) )
  41.         {
  42.                 strID = strUrl.replace( /.*vid\=/g, "" );
  43.                 strBuffer = external.twQueryHistory( "http://www.6rooms.com/v2.php?" + "*" + strID + "*", true );

  44.                 if( strBuffer.length <= 0 )
  45.                 {
  46.                         strBuffer = GetBufferFromUrl( "http://www.6rooms.com/v2.php?" + strID );
  47.                 }
  48.                 if( strBuffer.length > 0 )
  49.                 {
  50.                         nStart = strBuffer.search( /\<file\>/g );
  51.                         nEnd = strBuffer.search( /\<\/.ile\>/ );
  52.                         strUrl = strBuffer.substring( nStart+6, nEnd );
  53.                         external.twMediaPath( window, strUrl );
  54.                 }
  55.         }
  56. }
  57. function iaskMedia( )
  58. {
  59.         strUrl = twSaveObjUrl%%s;
  60.         if( -1 != strUrl.search( /http:\/\/.*iask\.com\/.*vid=.*/ ) )
  61.         {
  62.                 strID = strUrl.replace( /.*vid\=/g, "" );
  63.                 strTempUrl = "http://v.iask.com/v_ask.php?vid=" + strID;
  64.                 strBuffer = external.twQueryHistory( strTempUrl + "*", true );

  65.                 if( strBuffer.length <= 0 )
  66.                 {
  67.                         strBuffer = GetBufferFromUrl( strTempUrl );
  68.                 }
  69.                 if( strBuffer.length > 0 )
  70.                 {
  71.                         strRet = strBuffer.replace( /.*urldown\=/g, "" );
  72.                         strTemp = decodeURIComponent( strRet );
  73.                         external.twMediaPath( window, strTemp );
  74.                 }
  75.         }
  76. }
  77. /*   code bY kkf @ 2006 .10.13
  78.        kkf009@gmail.com   
  79. */
  80. function l56Media()
  81. {
  82.     strUrl=twSaveObjUrl%%s;        
  83.     if(-1!=strUrl.search(/http:\/\/www\.56\.com\/.*\.swf/))
  84.     {
  85.         var ObjUrl=document.getElementById(twObjectUID%%s)
  86.         var swfType=strUrl.substr(strUrl.lastIndexOf("\/")+1);               
  87.         
  88.         if( -1 != strUrl.indexOf( "v_player_blog_fp7_5" ) )
  89.                 strRet=ObjUrl.childNodes(1).value;
  90.         else if( -1 != strUrl.indexOf( "v_player_site_fp7_5" ) )
  91.                 strRet=ObjUrl.childNodes(2).value;
  92.         else
  93.                 strRet=ObjUrl.src;

  94.         var tmp1=new Array();               
  95.         var tmp2=new Array();               
  96.         var tmp=new Array();               
  97.         
  98.         tmp1=strRet.split("?");
  99.         tmp2=(tmp1.length==2)?tmp1[1].split("&"):tmp1[0].split("&");               
  100.         var strVar="([^=&]+)=([^&]*)";
  101.         var re=new RegExp(strVar,"");
  102.         
  103.         for(var i=0;i<=tmp2.length-1;i++)
  104.         {
  105.             try {
  106.                     tmp3=tmp2[i].match(re);                                
  107.                     tmp[tmp3[1]]=tmp3[2];                                
  108.                     }
  109.             catch(e){}
  110.         }
  111.         
  112.         strTemp="http:\/\/"+tmp["host"]+"\/flvdownload\/"+tmp["pURL"]+"\/"+tmp["sURL"]+"\/"+tmp["user"]+"@56.com_56flv_"+tmp["URLid"]+"\.flv";               
  113.         external.twMediaPath(window,strTemp);
  114.     }        
  115. }
  116. /*   code bY kkf @ 2006 .10.20
  117.        kkf009@gmail.com   
  118. */
  119. function tudouMedia(){
  120.     strUrl=twSaveObjUrl%%s;        
  121.     if(-1!=strUrl.search(/http:\/\/www\.tudou\.com\/.*/)){
  122.         var srcObj = document.getElementById(twObjectUID%%s)
  123.         strRet = srcObj.childNodes(2).value
  124.         strBuffer = GetBufferInPost("http://www.tudou.com/player/info.php",strRet);
  125.         strBuffer = strBuffer.replace( /.*flv\|(http:.*\.flv).*$/,"$1")
  126.         external.twMediaPath(window,strBuffer )
  127.                                                         }
  128. }

  129. youtubeMedia();
  130. l6roomsMedia();
  131. iaskMedia( );
  132. l56Media();
  133. tudouMedia();
复制代码

这些代码大概是用于快速保存用的吧(Alt+左键),居然收集了这么多,可见开发组的辛苦努力了,同时也省心了不少,不用嗅探地址了。赞一个

  1. [General]
  2. K0=http://*.google.com/*?q=*
  3. S0=try{col=document.getElementsByName('q');external.SetSearchKey( %max_security_id,col[0].value );}catch (e) {}

  4. K1=http://*.baidu.com/*?*=*
  5. 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) {}
复制代码

这段不明白用处,似乎跟搜索引擎有关,不过删除掉百度的那段,打开TW还是会有,而且一切正常,请开发组指正,省的我乱改出问题了。先谢谢了。
作者: caten    时间: 2006-11-28 16:57

.........开发组可不会来帮你改他的EXE....程序员都不会喜欢自己的东西被这样改吧....

添加搜索引擎请自己的选项里添加
作者: ayanamist    时间: 2006-11-28 17:00

不过我还是修改成功了。发现配置文件什么的全集中在EXE文件里,有希望只做成单文件绿色版耶。
开发组原谅我的好奇心吧。
作者: duckZCX    时间: 2006-11-28 18:34

多的我不知道,就想问问LZ,Reshacker反编译了TW??
作者: caten    时间: 2006-11-28 18:58

反编译倒不可能  楼主贴的那些 用Reshacker是直接可以看到的东西
作者: zombie    时间: 2006-11-28 19:11

就是,只是些脚本类的代码,真正的怎能这么容易看到,至少要加上混淆代码的嘛
作者: ayanamist    时间: 2006-11-28 19:19

原帖由 zombie 于 2006-11-28 19:11 发表
就是,只是些脚本类的代码,真正的怎能这么容易看到,至少要加上混淆代码的嘛

真正的C++代码怎么看得到!最多反汇编,不过感觉开发组应该没有加入花指令之类的东西吧,占空间费效率,从开发组没加壳这点就看得出。
作者: mutalisker    时间: 2006-11-28 20:52

媒体保存的更多脚本可以看这里
http://bbs.ioage.com/viewthread.php?tid=20829&extra=page%3D1

第二个脚本是tw的关键词保留功能




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2