ASP的天空小偷
更新時(shí)間:2006年09月04日 00:00:00 作者:
程序名稱:ASP的天空小偷
程序類(lèi)型:小偷,不太文雅啊,呵呵~
最新版本:沒(méi)版本,因?yàn)?,我不再更新了,有?wèn)題自己改
程序簡(jiǎn)介:這個(gè)沒(méi)什么好說(shuō)的~大家都知道
程序作者:小飛哥(這個(gè)ID,被封了,哎,犯錯(cuò)了)
下載地址:現(xiàn)在很多人都已經(jīng)有了~就不用再找我要了!
下面的是我給一個(gè)朋友寫(xiě)的,關(guān)于如何改這個(gè)小偷的,不會(huì)玩的,自己看看~
其實(shí)要再改個(gè)其它的什么小偷也是很容易的事了
呵呵~
用到的函數(shù)說(shuō)明
====================================================================
Instr()
函數(shù)返回字符或字符串在另一個(gè)字符串中第一次出現(xiàn)的位置.
表達(dá)式 Instr([start, ] strToBeSearched, strSearchFor [, compare])
允許數(shù)據(jù)類(lèi)型: Start為搜索的起始值,strToBeSearched接受搜索的字符串 strSearchFor要搜索的字符.compare比較方式(詳細(xì)見(jiàn)ASP常數(shù))
實(shí)例: <%
strText = "This is a test!!"
pos = Instr(strText, "a")
response.write pos
%>
返回結(jié)果: 9
====================================================================
Mid()
函數(shù)返回特定長(zhǎng)度的字符串(從start開(kāi)始,長(zhǎng)度為length).
表達(dá)式 Mid(string, start [, length])
實(shí)例: <%
strTest = "This is a test! Today is Monday."
response.write Mid(strTest, 17, 5)
%>
返回結(jié)果: Today
==================================================================
Abs(數(shù)值)
絕對(duì)值。一個(gè)數(shù)字的絕對(duì)值是它的正值??兆址?nbsp;(null) 的絕對(duì)值,也是空字符串。未初始化的變數(shù),其絕對(duì)為 0
實(shí)例: <%
response.write ABS(-2000)
%>
返回結(jié)果: 2000
==================================================================
Replace( 字符串表達(dá)式,findnreplacewith[,start[,count[,compare]]])
將一個(gè)字符串取代 部份字。尋找待取代的原字符串 (find) , 若找到則被取代為新字符串 (replacewith) 。
find :待尋找取代的原字符串。
replacewith :取代后的字。
start :從第幾個(gè)字開(kāi)始尋找取代, 若未設(shè)定則由第一個(gè)字開(kāi)始尋找。
count :取代的次數(shù)。 若未設(shè)定則所有尋找到的字符串取代字符 串全部被取代。
compare :尋找比較的方法, compare=0 表示二進(jìn)制比較法, compare=1 表文字比較法, compare =2 表根據(jù)比較的 數(shù)據(jù)型態(tài)而定,若省略 compare 則為預(yù)設(shè)的二進(jìn)制比較法。
實(shí)例: <%
response.write Replace("ABCD123ABC","AB","ab")
%>
返回結(jié)果: abCD123abC
===================================================================
程序中用到了一個(gè)過(guò)程是寫(xiě)好的
下面是源代碼
<%
'SourceCode_0是頁(yè)面取得的總數(shù)據(jù)
''SourceCode_1是截取需要內(nèi)容所需的開(kāi)始位置的代碼'
''SourceCode_2是截取需要內(nèi)容所需的結(jié)束位置的代?
''SourceCode_3是截取需要內(nèi)容所需的代碼中多余的內(nèi)容
Function GetSourceCode(SourceCode_0,SourceCode_1,SourceCode_2,SourceCode_3)
between=instr(SourceCode_0,SourceCode_1)-instr(SourceCode_0,SourceCode_2)
first=instr(SourceCode_0,SourceCode_1)
GetSourceCode = Mid(SourceCode_0,first,abs(between))
GetSourceCode =replace(GetSourceCode,SourceCode_3,"")
end function
%>
這樣子調(diào)用
<%
SourceCode="1a2b3c4d5e6f7g8h9i1j0k1l1m1n2o1p3qr1s4t1u5v1wx6y1z7"
''這里是定義一個(gè)字符串,后面要用到的,在實(shí)際的小偷程序中,這個(gè)變量是取到的軟件頁(yè)頁(yè)的源碼
response.write GetSourceCode(SourceCode,"1a2b","5v1wx6","1a2")
%>
返回結(jié)果: b3c4d5e6f7g8h9i1j0k1l1m1n2o1p3qr1s4t1u
===================================================================
另外,取得數(shù)據(jù)后要寫(xiě)入數(shù)據(jù)庫(kù)
set rs=server.CreateObject("ADODB.RecordSet")
rs.open "select * from downtype",conn,3,2
rs.addnew '寫(xiě)入記錄必需有這一句
rs("tname")=SoftClass_1 'rs("tname")這個(gè)是數(shù)據(jù)庫(kù)中表 downtype 中的一個(gè)字段 ,字段名是tname ,也就是當(dāng)前要寫(xiě)入內(nèi)容的地方 ,SoftClass_1這個(gè)是在前面定義好的一個(gè)變量
rs("tj")=1
rs("tn")=rsb("id")
rs.update '寫(xiě)入記錄這條也是必需的
===================================================================
開(kāi)始干正事
先打開(kāi)softwrite.asp 中找到以下這句
<!---<textarea name="textarea" cols="100" rows=20><%'response.write SourceCode%></textarea><BR>--!>
改成
<textarea name="textarea" cols="100" rows=20><%response.write SourceCode%></textarea><BR>
這樣就可以看到,程序從天空軟件站,實(shí)時(shí)取到的一些頁(yè)面信息
當(dāng)然,這里文本框輸出的數(shù)據(jù),已經(jīng)是經(jīng)過(guò)一次截取的,如果你要取的不是天空軟件站的數(shù)據(jù),那么還要先應(yīng)的先修改,softwirte.asp 里的從91行開(kāi)始到94行中的代碼
betw=instr(SourceCode," <td vAlign=top width=540>")-instr(SourceCode,"* </b>為了達(dá)到最快的下載速度")
first=instr(SourceCode," <td vAlign=top width=540>")
SourceCode = Mid(SourceCode,first,abs(betw))
SourceCode =replace(SourceCode,"http://count.skycn.com/softdown.php?id="&Id&"&url=","")
就是這些了,這里面用到了也就只有三個(gè)函數(shù),instr mid replace 在前面都已經(jīng)有說(shuō)明了,都是最基本的應(yīng)用,要是看不明白這里的程序,就先到前面看看,這幾個(gè)函數(shù)的說(shuō)明,搞明白了,這里的代碼也就明白了
這幾句代碼的作用就是取截取到的一部份的頁(yè)面信息,刪除一個(gè)無(wú)用的信息
另外這里截取到的頁(yè)面信息也是為后臺(tái)的程序用的,比如,取一個(gè)軟件的名字都是從這里已經(jīng)截取的信息中再取相應(yīng)的東西出來(lái),寫(xiě)到數(shù)據(jù)庫(kù)中的
當(dāng)然,如果你的電腦上已經(jīng)有IIS的話,就可以打程序COPY過(guò)去就可以看到效果了
從softwrite.asp里的131行開(kāi)始才是真正截取軟件相關(guān)的一些信息的,如果要改成截取其它的內(nèi)容,這里當(dāng)然也要相應(yīng)的做改動(dòng)
dim SoftName,SoftSize,SoftLan
''上面的這句是定義一些變量,方便調(diào)用
SoftName=GetSourceCode(SourceCode,"<b><font color='#004FC6' size='3'>","</font></b></td></tr>","<b><font color='#004FC6' size='3'>")
''這句就是截取軟件名稱的,用到的就是 GetSourceCode()這個(gè)過(guò)程,前面已經(jīng)有說(shuō)明的,不明白的再看前面的說(shuō)明
...
從131行到159行,都是截取軟件相關(guān)信息的,都是只用到 GetSourceCode()這個(gè)過(guò)程
最后,所有的軟件信息都截取了,存入相應(yīng)的變量中,剩下的就是寫(xiě)入數(shù)據(jù)庫(kù)的部份了,如果說(shuō)你的應(yīng)用都只是盜取人家的下載站的軟件信息到驚云中,后面的部份就不用更改了,就可以用,當(dāng)然這里要說(shuō)明的是,所有前面定義的變量不能更改為別的,要是改了,后面部分的也要相應(yīng)更改,要不會(huì)出錯(cuò)的
關(guān)于寫(xiě)入數(shù)據(jù)庫(kù)的部份,內(nèi)容太多我一下子也說(shuō)不清楚,在最前面我已經(jīng)簡(jiǎn)單的說(shuō)明了一下,你可以去參改一些書(shū),那樣,學(xué)ASP會(huì)更快一些
就這些了,其它的你要是不明白,我們?cè)貿(mào)Q聯(lián)系,快過(guò)年了,在這里一并說(shuō)下,祝你新年快樂(lè)!呵呵~
程序類(lèi)型:小偷,不太文雅啊,呵呵~
最新版本:沒(méi)版本,因?yàn)?,我不再更新了,有?wèn)題自己改
程序簡(jiǎn)介:這個(gè)沒(méi)什么好說(shuō)的~大家都知道
程序作者:小飛哥(這個(gè)ID,被封了,哎,犯錯(cuò)了)
下載地址:現(xiàn)在很多人都已經(jīng)有了~就不用再找我要了!
下面的是我給一個(gè)朋友寫(xiě)的,關(guān)于如何改這個(gè)小偷的,不會(huì)玩的,自己看看~
其實(shí)要再改個(gè)其它的什么小偷也是很容易的事了
呵呵~
用到的函數(shù)說(shuō)明
====================================================================
Instr()
函數(shù)返回字符或字符串在另一個(gè)字符串中第一次出現(xiàn)的位置.
表達(dá)式 Instr([start, ] strToBeSearched, strSearchFor [, compare])
允許數(shù)據(jù)類(lèi)型: Start為搜索的起始值,strToBeSearched接受搜索的字符串 strSearchFor要搜索的字符.compare比較方式(詳細(xì)見(jiàn)ASP常數(shù))
實(shí)例: <%
strText = "This is a test!!"
pos = Instr(strText, "a")
response.write pos
%>
返回結(jié)果: 9
====================================================================
Mid()
函數(shù)返回特定長(zhǎng)度的字符串(從start開(kāi)始,長(zhǎng)度為length).
表達(dá)式 Mid(string, start [, length])
實(shí)例: <%
strTest = "This is a test! Today is Monday."
response.write Mid(strTest, 17, 5)
%>
返回結(jié)果: Today
==================================================================
Abs(數(shù)值)
絕對(duì)值。一個(gè)數(shù)字的絕對(duì)值是它的正值??兆址?nbsp;(null) 的絕對(duì)值,也是空字符串。未初始化的變數(shù),其絕對(duì)為 0
實(shí)例: <%
response.write ABS(-2000)
%>
返回結(jié)果: 2000
==================================================================
Replace( 字符串表達(dá)式,findnreplacewith[,start[,count[,compare]]])
將一個(gè)字符串取代 部份字。尋找待取代的原字符串 (find) , 若找到則被取代為新字符串 (replacewith) 。
find :待尋找取代的原字符串。
replacewith :取代后的字。
start :從第幾個(gè)字開(kāi)始尋找取代, 若未設(shè)定則由第一個(gè)字開(kāi)始尋找。
count :取代的次數(shù)。 若未設(shè)定則所有尋找到的字符串取代字符 串全部被取代。
compare :尋找比較的方法, compare=0 表示二進(jìn)制比較法, compare=1 表文字比較法, compare =2 表根據(jù)比較的 數(shù)據(jù)型態(tài)而定,若省略 compare 則為預(yù)設(shè)的二進(jìn)制比較法。
實(shí)例: <%
response.write Replace("ABCD123ABC","AB","ab")
%>
返回結(jié)果: abCD123abC
===================================================================
程序中用到了一個(gè)過(guò)程是寫(xiě)好的
下面是源代碼
<%
'SourceCode_0是頁(yè)面取得的總數(shù)據(jù)
''SourceCode_1是截取需要內(nèi)容所需的開(kāi)始位置的代碼'
''SourceCode_2是截取需要內(nèi)容所需的結(jié)束位置的代?
''SourceCode_3是截取需要內(nèi)容所需的代碼中多余的內(nèi)容
Function GetSourceCode(SourceCode_0,SourceCode_1,SourceCode_2,SourceCode_3)
between=instr(SourceCode_0,SourceCode_1)-instr(SourceCode_0,SourceCode_2)
first=instr(SourceCode_0,SourceCode_1)
GetSourceCode = Mid(SourceCode_0,first,abs(between))
GetSourceCode =replace(GetSourceCode,SourceCode_3,"")
end function
%>
這樣子調(diào)用
<%
SourceCode="1a2b3c4d5e6f7g8h9i1j0k1l1m1n2o1p3qr1s4t1u5v1wx6y1z7"
''這里是定義一個(gè)字符串,后面要用到的,在實(shí)際的小偷程序中,這個(gè)變量是取到的軟件頁(yè)頁(yè)的源碼
response.write GetSourceCode(SourceCode,"1a2b","5v1wx6","1a2")
%>
返回結(jié)果: b3c4d5e6f7g8h9i1j0k1l1m1n2o1p3qr1s4t1u
===================================================================
另外,取得數(shù)據(jù)后要寫(xiě)入數(shù)據(jù)庫(kù)
set rs=server.CreateObject("ADODB.RecordSet")
rs.open "select * from downtype",conn,3,2
rs.addnew '寫(xiě)入記錄必需有這一句
rs("tname")=SoftClass_1 'rs("tname")這個(gè)是數(shù)據(jù)庫(kù)中表 downtype 中的一個(gè)字段 ,字段名是tname ,也就是當(dāng)前要寫(xiě)入內(nèi)容的地方 ,SoftClass_1這個(gè)是在前面定義好的一個(gè)變量
rs("tj")=1
rs("tn")=rsb("id")
rs.update '寫(xiě)入記錄這條也是必需的
===================================================================
開(kāi)始干正事
先打開(kāi)softwrite.asp 中找到以下這句
<!---<textarea name="textarea" cols="100" rows=20><%'response.write SourceCode%></textarea><BR>--!>
改成
<textarea name="textarea" cols="100" rows=20><%response.write SourceCode%></textarea><BR>
這樣就可以看到,程序從天空軟件站,實(shí)時(shí)取到的一些頁(yè)面信息
當(dāng)然,這里文本框輸出的數(shù)據(jù),已經(jīng)是經(jīng)過(guò)一次截取的,如果你要取的不是天空軟件站的數(shù)據(jù),那么還要先應(yīng)的先修改,softwirte.asp 里的從91行開(kāi)始到94行中的代碼
betw=instr(SourceCode," <td vAlign=top width=540>")-instr(SourceCode,"* </b>為了達(dá)到最快的下載速度")
first=instr(SourceCode," <td vAlign=top width=540>")
SourceCode = Mid(SourceCode,first,abs(betw))
SourceCode =replace(SourceCode,"http://count.skycn.com/softdown.php?id="&Id&"&url=","")
就是這些了,這里面用到了也就只有三個(gè)函數(shù),instr mid replace 在前面都已經(jīng)有說(shuō)明了,都是最基本的應(yīng)用,要是看不明白這里的程序,就先到前面看看,這幾個(gè)函數(shù)的說(shuō)明,搞明白了,這里的代碼也就明白了
這幾句代碼的作用就是取截取到的一部份的頁(yè)面信息,刪除一個(gè)無(wú)用的信息
另外這里截取到的頁(yè)面信息也是為后臺(tái)的程序用的,比如,取一個(gè)軟件的名字都是從這里已經(jīng)截取的信息中再取相應(yīng)的東西出來(lái),寫(xiě)到數(shù)據(jù)庫(kù)中的
當(dāng)然,如果你的電腦上已經(jīng)有IIS的話,就可以打程序COPY過(guò)去就可以看到效果了
從softwrite.asp里的131行開(kāi)始才是真正截取軟件相關(guān)的一些信息的,如果要改成截取其它的內(nèi)容,這里當(dāng)然也要相應(yīng)的做改動(dòng)
dim SoftName,SoftSize,SoftLan
''上面的這句是定義一些變量,方便調(diào)用
SoftName=GetSourceCode(SourceCode,"<b><font color='#004FC6' size='3'>","</font></b></td></tr>","<b><font color='#004FC6' size='3'>")
''這句就是截取軟件名稱的,用到的就是 GetSourceCode()這個(gè)過(guò)程,前面已經(jīng)有說(shuō)明的,不明白的再看前面的說(shuō)明
...
從131行到159行,都是截取軟件相關(guān)信息的,都是只用到 GetSourceCode()這個(gè)過(guò)程
最后,所有的軟件信息都截取了,存入相應(yīng)的變量中,剩下的就是寫(xiě)入數(shù)據(jù)庫(kù)的部份了,如果說(shuō)你的應(yīng)用都只是盜取人家的下載站的軟件信息到驚云中,后面的部份就不用更改了,就可以用,當(dāng)然這里要說(shuō)明的是,所有前面定義的變量不能更改為別的,要是改了,后面部分的也要相應(yīng)更改,要不會(huì)出錯(cuò)的
關(guān)于寫(xiě)入數(shù)據(jù)庫(kù)的部份,內(nèi)容太多我一下子也說(shuō)不清楚,在最前面我已經(jīng)簡(jiǎn)單的說(shuō)明了一下,你可以去參改一些書(shū),那樣,學(xué)ASP會(huì)更快一些
就這些了,其它的你要是不明白,我們?cè)貿(mào)Q聯(lián)系,快過(guò)年了,在這里一并說(shuō)下,祝你新年快樂(lè)!呵呵~
相關(guān)文章
利用MSXML2.XmlHttp和Adodb.Stream采集圖片
asp下經(jīng)常用來(lái)采集的兩個(gè)組件結(jié)合使用例子2008-05-05
XMLHttp ASP遠(yuǎn)程獲取網(wǎng)頁(yè)內(nèi)容代碼
asp下利用xmlhttp獲取網(wǎng)頁(yè)內(nèi)容的方法這個(gè)方法一般比較通用的,然后通過(guò)字符截取網(wǎng)頁(yè)的內(nèi)容。2008-11-11
網(wǎng)站生成靜態(tài)頁(yè)面攻略3:防采集策略
網(wǎng)站生成靜態(tài)頁(yè)面攻略3:防采集策略...2006-08-08
一個(gè)帶采集遠(yuǎn)程文章內(nèi)容,保存圖片,生成文件等完整的采集功能
本文提供了一套完整的ASP采集功能函數(shù),包含提取地址的原字符,保存遠(yuǎn)程的文件到本地模擬登錄,獲取網(wǎng)頁(yè)源碼等功能函數(shù)2009-06-06
msxml3.dll 錯(cuò)誤 800c0005 解決方案
在運(yùn)用xmlhttp組件編寫(xiě)程序中,會(huì)碰到msxml3.dll 錯(cuò)誤 800c0005系統(tǒng)未找到指定的資源。這種錯(cuò)誤,網(wǎng)上對(duì)這種錯(cuò)誤的產(chǎn)生原因有很多鐘解釋?zhuān)篌w說(shuō)是因?yàn)榉阑饓騏DP站口權(quán)限造成了,也說(shuō)了相應(yīng)的解決辦法2006-08-08

