返回列表 发帖

[改进建议] 为啥TW不能下载迅雷的链接?

迅雷的链接只是把一个网址加密了而已,没有什么验证程序说非迅雷不能下,用软件还原迅雷链接以后也可以用普通下载工具下载。

那么,为啥TW内建的下载器不能下载迅雷的链接?

挑刺,找茬,鸡蛋里挑骨头,TW里找BUG。

网上漫山遍野的破解网站

http://www.x2y2.com/sites/Thunder/
http://xl.zg99.com/JM.asp

还有工具,连源代码都有。
http://hi.baidu.com/helfee/blog/ ... 026785c917688d.html

#SingleInstance force
#NoTrayIcon
Chars=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Gui,Add,Edit,w250 vurl ReadOnly,复制地址后,点【Encode/Decode】
Gui,Add,Button,w120,Encode/&Decode
Gui,Add,Button,w120 xp+130,&Cancel
Gui,Add,Edit,w250 vu1 ReadOnly x10
Gui,Add,Edit,w250 vu2 ReadOnly
Gui,Add,Edit,w250 vu3 ReadOnly
Gui,Show,w275 h60,迅雷/快车/旋风 地址转换
Return

ButtonEncode/Decode:
GuiControlGet,url
IfNotEqual,url,%Clipboard%
{GuiControl,,edit1,% Clipboard
url:=Clipboard
}
RegExMatch(url,"(?<=^).+(?=://)",t)
RegExMatch(url,"(?<=://).+",m)
If t=thunder
RegExMatch(InvBase64(m),"(?<=^AA).+(?=ZZ)",url)
Else If t=flashget
RegExMatch(InvBase64(m),"(?<=FLASHGET.).+(?=.FLASHGET)",url)
Else If t=qqdl
url:=InvBase64(m)
Else IfEqual,t,
{Gui,Show,w275 h60
GuiControl,,edit1,错误地址!!!
return
}
Else Goto,Encode
Gui,Show,w275 h60
GuiControl,,url,%url%
Clipboard:=url
ControlFocus,edit1
ControlSend,edit1,^a
Return

Encode:
Gui,Show,w275 h140
GuiControl,,u1, % "Thunder://" Base64("AA" url "ZZ")
GuiControl,,u2, % "Flashget://" Base64("[FLASHGET]" url "[FLASHGET]")
GuiControl,,u3, % "Qqdl://" Base64(url)
Return

#IfWinActive,迅雷/快车/旋风 地址转换 ahk_class AutoHotkeyGUI
~^LButton::
~LButton::
MouseGetPos,,,id,control
WinGetTitle,title,ahk_id %id%
StringTrimRight,control2,control,1
if (title="迅雷/快车/旋风 地址转换" and control2="edit")
{ if control<>edit1
      {
         GuiControlGet,aa,,%control%
         ControlSend,%control%,^a,ahk_id %id%
         Clipboard:=aa
      }
   }
Return
#IfWinActive

guiClose:
guiEscape:
ButtonCancel:
ExitApp


;From http://www.autohotkey.com/forum/viewtopic.php?p=35427
Base64(string) {
   Loop Parse,string
   {
      If Mod(A_Index,3) = 1
          buffer := Asc(A_LoopField) << 16
      Else If Mod(A_Index,3) = 2
          buffer += Asc(A_LoopField) << 8
      Else {
          buffer += Asc(A_LoopField)
          out := out . Code(buffer>>18) . Code(buffer>>12) . Code(buffer>>6) . Code(buffer)
      }
   }
   If Mod(StrLen(string),3) = 0
      Return out
   If Mod(StrLen(string),3) = 1
      Return out . Code(buffer>>18) . Code(buffer>>12) "=="
   Return out . Code(buffer>>18) . Code(buffer>>12) . Code(buffer>>6) "="
}

InvBase64(code) {
   StringReplace code,code,=,,All
   Loop Parse,code
   {
      If Mod(A_Index,4) = 1
          buffer := DeCode(A_LoopField) << 18
      Else If Mod(A_Index,4) = 2
          buffer += DeCode(A_LoopField) << 12
      Else If Mod(A_Index,4) = 3
          buffer += DeCode(A_LoopField) << 6
      Else {
          buffer += DeCode(A_LoopField)
          out := out . Chr(buffer>>16) . Chr(255 & buffer>>8) . Chr(255 & buffer)
      }
   }
   If Mod(StrLen(code),4) = 0
      Return out
   If Mod(StrLen(code),4) = 2
      Return out . Chr(buffer>>16)
   Return out . Chr(buffer>>16) . Chr(255 & buffer>>8)
}

Code(i) {   ; <== Chars[i & 63],0-base index
   Global Chars
   StringMid i,Chars,(i&63)+1,1
   Return i
}

DeCode(c) { ; c = a char in Chars ==> position [0,63]
   Global Chars
   Return InStr(Chars,c,1) - 1
}

挑刺,找茬,鸡蛋里挑骨头,TW里找BUG。

TOP

现在有这个插件么?地址发上来。

挑刺,找茬,鸡蛋里挑骨头,TW里找BUG。

TOP

返回列表