久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ASP小偷程序的設(shè)計(jì)思路

 陽(yáng)關(guān)舊友 2010-10-25

做一個(gè)好的教程就是要讓人看懂,,我早先買(mǎi)教程書(shū)看到第一章千篇一律都是計(jì)算機(jī)發(fā)展史再加歷史回顧和前景展望,煩死,。
所以本教程就不講一些沒(méi)用的東西了,,直接轉(zhuǎn)入正題

ASP采集其它就是利用微軟自帶的XMLHTTP組件取得遠(yuǎn)程頁(yè)面的源代碼,,再經(jīng)過(guò)程序的過(guò)濾替換處理轉(zhuǎn)換成我們想要的數(shù)據(jù),。我們也不管用什么,反正我教你的就是用一段代碼取得目標(biāo)代碼,   再把目標(biāo)代碼加工一下,。然后直接顯示啊還是寫(xiě)入數(shù)據(jù)庫(kù),。就這么簡(jiǎn)單!
引用組件CreateObject("Microsoft.XMLHTTP")   --->取得目標(biāo)代碼(get) ---> 數(shù)據(jù)處理(截取,,過(guò)濾,,替換) --->   直接顯示(小偷)或 寫(xiě)入數(shù)據(jù)庫(kù)(采集)
說(shuō)了這么多是要開(kāi)始實(shí)戰(zhàn)了.
      二話不說(shuō),先寫(xiě)個(gè)剛剛講到的引用組件和取得代碼的函數(shù)
     ' 獲取遠(yuǎn)程HTML
     Function GetURL(url)
             Set Retrieval = CreateObject("Microsoft.XMLHTTP")
             With Retrieval
                 .Open "GET", url, False
                .Send
                GetURL = .responsebody
             if len(.responsebody)<100 then
                 response.write "獲取遠(yuǎn)程文件 <a href="&url&" target=_blank>"&url&"</a> 失敗,。"
                 response.end
             end if
             End With
             Set Retrieval = Nothing
         End Function
上面這段函數(shù)的URL值就是我們的目標(biāo)網(wǎng)頁(yè),,也就是要偷的頁(yè)面了。
當(dāng)然我們得到的代碼是以二進(jìn)制返回給我們的,,那我們得把他轉(zhuǎn)換成我們要的字符,,怎么辦,?
怕什么,?我自己不會(huì)寫(xiě)難道還不會(huì)上網(wǎng)找啊。找到了,,怎么實(shí)現(xiàn)的我們當(dāng)然不管它了,,只要能用就行了,,函數(shù)代碼如下:
' 二進(jìn)制轉(zhuǎn)字符串
function bytes2bstr(vin)
        strreturn = ""
        for i = 1 to lenb(vin)
        thischarcode = ascb(midb(vin,i,1))
        if thischarcode < &h80 then
               strreturn = strreturn & chr(thischarcode)
        else
               nextcharcode = ascb(midb(vin,i+1,1))
               strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
               i = i + 1
        end if
        next
        bytes2bstr = strreturn
end function
OK!
有了這兩個(gè)函數(shù)基本上可以實(shí)現(xiàn)簡(jiǎn)單的小偷了,。
我今天就找天空的軟件資訊開(kāi)刀,地址是: http://www./article/index_article.html
開(kāi)工:
1,建立一個(gè)ASP文件,我建的是index.asp
<%
%>
先寫(xiě)好啊,,要養(yǎng)成這樣的習(xí)慣哦,。
定義一下地址和調(diào)用函數(shù)
dim url,html
     url="http://www./article/index_article.html"
     Html=GetURL(url) '把地址url傳遞到GetURL這個(gè)函數(shù)
        Html=Bytes2BStr(Html) '二進(jìn)制轉(zhuǎn)換成字符一下
再把剛剛兩個(gè)函數(shù)寫(xiě)進(jìn)去
最后看一下是否偷到了,我們r(jià)esponse一下
Response.write html
整個(gè)文件內(nèi)容就是:
<%
On Error Resume Next
Server.ScriptTimeOut=9999999
dim url,html
     url="http://www./article/index_article.html"
     Html=GetURL(url) '把地址url傳遞到GetURL這個(gè)函數(shù)
        Html=Bytes2BStr(Html) '二進(jìn)制轉(zhuǎn)換成字符一下
' 獲取遠(yuǎn)程HTML
Function GetURL(url)
     Set Retrieval = CreateObject("Microsoft.XMLHTTP")
     With Retrieval
         .Open "GET", url, False
         .Send
         GetURL = .responsebody
        if len(.responsebody)<100 then
               response.write "獲取遠(yuǎn)程文件 <a href="&url&" target=_blank>"&url&"</a> 失敗。"
               response.end
        end if
     End With
     Set Retrieval = Nothing
End Function
' 二進(jìn)制轉(zhuǎn)字符串
function bytes2bstr(vin)
        strreturn = ""
        for i = 1 to lenb(vin)
        thischarcode = ascb(midb(vin,i,1))
        if thischarcode < &h80 then
               strreturn = strreturn & chr(thischarcode)
        else
               nextcharcode = ascb(midb(vin,i+1,1))
               strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
               i = i + 1
        end if
        next
        bytes2bstr = strreturn
end function
Response.write html
%>

上次說(shuō)到哪了?好像只說(shuō)到如何得到目標(biāo)地址并得到代碼和顯示出來(lái),。這樣得到的當(dāng)然是不能用的了。我們現(xiàn)在
就來(lái)學(xué)一下把得到的數(shù)據(jù)做一個(gè)最基本的數(shù)據(jù)處理吧.
     OK!開(kāi)始,!   
     那天剛好在站長(zhǎng)站里看到有個(gè)人想要一個(gè)殺毒軟件的小偷頁(yè)面,,說(shuō)是要丁香魚(yú)的瑞星更新小偷(怎么不來(lái)找我呢,有時(shí)間給你寫(xiě)一個(gè)嘛
不過(guò)你只要看了我的教程,,以后不要說(shuō)丁香魚(yú)了,,其它的魚(yú)一樣偷),,那我們就把丁香魚(yú)拿來(lái)開(kāi)刀。
     丁香魚(yú)網(wǎng)址:http://www./rising.htm
記不記得我上次的代碼啊,,里面有幾個(gè)函數(shù),,現(xiàn)在我把它們都放入一個(gè)文件function.asp,目的是為了以后方便改啊,,添加功能什么的
我也不懂啦,,個(gè)人認(rèn)為就是好看,,不會(huì)亂,。
--------------------------------
function.asp:
<%
' 獲取遠(yuǎn)程HTML
Function GetURL(url)
     Set Retrieval = CreateObject("Microsoft.XMLHTTP")
     With Retrieval
         .Open "GET", url, False
         .Send
         GetURL = .responsebody
if len(.responsebody)<100 then
   response.write "獲取遠(yuǎn)程文件 <a href="&url&" target=_blank>"&url&"</a> 失敗,。"
   response.end
end if

     End With
     Set Retrieval = Nothing
End Function
' 二進(jìn)制轉(zhuǎn)字符串
function bytes2bstr(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
   strreturn = strreturn & chr(thischarcode)
else
   nextcharcode = ascb(midb(vin,i+1,1))
   strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
   i = i + 1
end if
next
bytes2bstr = strreturn
end function

Function getcontent(HTML,starcode,endcode)
    dim StartPos,EndPos,Length
StartPos=Instr(1,HTML,starcode)
EndPos=Instr(StartPos,HTML,endcode)
Length=EndPos-StartPos
getcontent=Mid(HTML,StartPos,Length)
End Function
%>

     前面兩個(gè)函數(shù)我就不講了,講一下getcontent,,這個(gè)函數(shù)的作用就是截取我們想要的代碼,,就叫截取吧,。
     解釋一下里面用到的VB函數(shù)
     Instr:
     返回某字符串在另一字符串中第一次出現(xiàn)的位置(vb script沒(méi)學(xué)好的要抓緊補(bǔ)啊同志們) ,。
     Mid:
     從字符串中返回指定數(shù)目的字符,。
     這樣大家就比較好理解了吧,,html是我們得到的網(wǎng)頁(yè)整個(gè)源碼,,starcode是我們要截取的代碼開(kāi)始,,endcode自然就是我們要截取的結(jié)束了
     我們先通過(guò)starcode和endcode來(lái)指定我們要截取的位置,,再用mid取出來(lái)。上面講的都是理論的
     等下通過(guò)實(shí)際的應(yīng)用我們會(huì)更好理解的,。
     ---------------
     建一個(gè)ASP文件rising.asp作為小偷的主文件,。記不記得上次得到源碼的幾個(gè)代碼,,現(xiàn)在可以用上了,。
     rising.asp:

<!-- #include file="function.asp" -->
<%

On Error Resume Next
Server.ScriptTimeOut=9999999
dim url,html,starcode,endcode
     url="http://www./rising.htm" '我們要偷的頁(yè)面地址
     Html=GetURL(url) '把地址url傳遞到GetURL這個(gè)函數(shù)
Html=Bytes2BStr(HTML) '二進(jìn)制轉(zhuǎn)換成字符一下
starcode="<td><div align=""center""></div></td>" '我們并不是偷網(wǎng)頁(yè)的全部,,因?yàn)榍懊娴臇|西我們不要嘛,,所以從這里開(kāi)始,,代碼不能重復(fù)哦
endcode="<td colspan=""2""><div align=""center"">"'和上面一樣,,我們尾部也不要,這里是結(jié)束的部分,,代碼要唯一,我們要的就是上面和這里的中間部分
content=getcontent(HTML,starcode,endcode) '賦值完畢了我們就調(diào)用一下這個(gè)函數(shù),,等于是參數(shù)傳遞一下
content=replace(content,"images/","http://www./images/")'這里是另外一個(gè)替換操作,,下面給你們講
Response.write content '輸出內(nèi)容
%>
主要說(shuō)一下
     replace:
     返回字符串,其中指定數(shù)目的某子字符串被替換為另一個(gè)子字符串,。
這個(gè)就是把代碼中我們不想要的換成我們想要的,或直接換成空,,下面是一個(gè)例子
Dim MyString

MyString = Replace("XXpXXPXXp", "p", "Y") '二進(jìn)制比較從字符串左端開(kāi)始。返回 "XXYXXPXXY",。
上面XXpXXPXXp的p就被換成了Y吧,如果換成空:
MyString = Replace("XXpXXPXXp", "p", "") '二進(jìn)制比較從字符串左端開(kāi)始,。返回 "XXXXPXX",。
那上面XXpXXPXXp的p就不見(jiàn)了。簡(jiǎn)單吧,。
我們例子里因?yàn)橛袌D片,,路徑如果不處理一下,圖片就無(wú)法正常顯示,,所以我們把"images/"換成了"http://www./images/"絕對(duì)路徑
還有哦,,他們里面有一個(gè)引用javescript,我們?cè)趓ising.asp的最前面也引用一下,,是關(guān)于版本的
<script language=javascript src="http://www./service/javascript/RsProVer.js"></script>
OK!我看一下效果哦,。

好了,成功了,。第二課也講完了,,你們可以去試試其它頁(yè)面啊,或可以用這幾個(gè)函數(shù)取不同的值來(lái)練練手,。
好了,,等第三課吧
官方 演示(為了配合樣式,我加了頁(yè)頭和頁(yè)尾了)
http://www./rising.asp                  【摘自網(wǎng)絡(luò)】

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多