1.[代码]下面源码复制到快手(WWW.AAU.CN)中运行即可
import win.ui;
import web.form;
/*DSG{{*/
var winform = ..win.form( bottom=399;right=607;text="网页视频嗅探器" )
winform.add(
sniff={ dr=1;bottom=40;text="嗅探";left=528;dt=1;top=16;z=1;right=592;cls="button" };
url={ dr=1;dl=1;bottom=40;right=528;left=16;dt=1;top=16;z=2;edge=1;cls="edit" };
wbWrapper={ dr=1;dl=1;bottom=384;right=592;left=16;dt=1;top=48;z=3;db=1;cls="static" }
)
/*}}*/
var wb = web.form(winform.wbWrapper);
wb.noScriptErr = true;
wb.translate = function( url ){
owner.translateUrl = url;
winform.url.text = wb.location;
}
wb.NewWindow2=function( ppDisp, Cancel) {
winform.setTimeout( function(){ wb.go( wb.translateUrl ) } )
return ppDisp, true;
}
winform.sniff.oncommand = function (id, event) {
wb.go(winform.url.text);
}
wb.go("http://www.youku.com")
// 自定义 send 函数,独立线程
HookSend = function (s, buf, len, flags) {
import console;
import process;
import inet.url;
try {
var data = raw.tostring(buf,1,len);
var requestURL = string.match(data, "GET\s+(\S+)");
var host = string.match(data, 'Host\\:\\s+([^\r\n]+)');
if ( ! ( requestURL && host ) )
return;
requestURL = "http://" ++ host ++ requestURL;
var filename = inet.url.getFileName(requestURL);
var ext = string.match(filename, "\.([^\.]+)$");
if ( ext ? owner.sniffType[ext] ) {
thread.lock("console.log");
console.log("嗅探", requestURL);
thread.unlock("console.log");
}
}
return owner.callApi(s, buf, len, flags);
}
import thread.apiHook;
hook = thread.apiHook("Ws2_32.dll", "send","int(pointer,pointer,int,int)",HookSend,{
sniffType = { flv = true; mp4 = true } //指定回调函数的owner参数
} ).install();
winform.show();
win.loopMessage();
hook.unInstall();