程式名稱:ASP的天空小偷
程式類型:小偷,不太文雅啊,呵呵~
最新版本:沒版本,因為,我不再更新了,有問題自己改
程式簡介:這個沒什麼好說的~大家都知道
程式作者:小飛哥(這個ID,被封了,哎,犯錯了)
:現在很多人都已經有了~就不用再找我要了!
下面的是我給一個朋友寫的,關於如何改這個小偷的,不會玩的,自己看看~
其實要再改個其它的什麼小偷也是很容易的事了
呵呵~
用到的函數說明
====================================================================
Instr()
函數返回字元或字串在另一個字串中第一次出現的位置.
運算式 Instr([start, ] strToBeSearched, strSearchFor [, compare])
允許資料類型: Start為搜尋的起始值,strToBeSearched接受搜尋的字串 strSearchFor要搜尋的字元.compare比較方式(詳細見ASP常數)
執行個體: <%
strText = "This is a test!!"
pos = Instr(strText, "a")
response.write pos
%>
返回結果: 9
====================================================================
Mid()
函數返回特定長度的字串(從start開始,長度為length).
運算式 Mid(string, start [, length])
執行個體: <%
strTest = "This is a test! Today is Monday."
response.write Mid(strTest, 17, 5)
%>
返回結果: Today
==================================================================
Abs(數值)
絕對值。一個數位絕對值是它的正值。Null 字元串 (null) 的絕對值,也是Null 字元串。未初始化的變數,其絕對為 0
執行個體: <%
response.write ABS(-2000)
%>
返回結果: 2000
==================================================================
Replace( 字串運算式,findnreplacewith[,start[,count[,compare]]])
將一個字串取代 部份字。尋找待取代的原字串 (find) , 若找到則被取代為新字串 (replacewith) 。
find :待尋找取代的原字串。
replacewith :取代後的字。
start :從第幾個字開始尋找取代, 若未設定則由第一個字開始尋找。
count :取代的次數。 若未設定則所有尋找到的字串取代字元 串全部被取代。
compare :尋找比較的方法, compare=0 表示二進位比較法, compare=1 表文字比較法, compare =2 表根據比較的 資料型態而定,若省略 compare 則為預設的二進位比較法。
執行個體: <%
response.write Replace("ABCD123ABC","AB","ab")
%>
返回結果: abCD123abC
===================================================================
程式中用到了一個過程是寫好的
下面是原始碼
<%
'SourceCode_0是頁面取得的總資料
''SourceCode_1是截取需要內容所需的開始位置的代碼'
''SourceCode_2是截取需要內容所需的結束位置的代?
''SourceCode_3是截取需要內容所需的代碼中多餘的內容
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
%>
這樣子調用
<%
SourceCode="1a2b3c4d5e6f7g8h9i1j0k1l1m1n2o1p3qr1s4t1u5v1wx6y1z7"
''這裡是定義一個字串,後面要用到的,在實際的小偷程式中,這個變數是取到的軟體頁頁的源碼
response.write GetSourceCode(SourceCode,"1a2b","5v1wx6","1a2")
%>
返回結果: b3c4d5e6f7g8h9i1j0k1l1m1n2o1p3qr1s4t1u
===================================================================
另外,取得資料後要寫入資料庫
set rs=server.CreateObject("ADODB.RecordSet")
rs.open "select * from downtype",conn,3,2
rs.addnew '寫入記錄必需有這一句
rs("tname")=SoftClass_1 'rs("tname")這個是資料庫中表 downtype 中的一個欄位 ,欄位名是tname ,也就是當前要寫入內容的地方 ,SoftClass_1這個是在前面定義好的一個變數
rs("tj")=1
rs("tn")=rsb("id")
rs.update '寫入記錄這條也是必需的
===================================================================
開始幹正事
先開啟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>
這樣就可以看到,程式從天空軟體站,即時取到的一些頁面資訊
當然,這裡文字框輸出的資料,已經是經過一次截取的,如果你要取的不是天空軟體站的資料,那麼還要先應的先修改,softwirte.asp 裡的從91行開始到94行中的代碼
betw=instr(SourceCode," <td vAlign=top width=540>")-instr(SourceCode,"* </b>為了達到最快的下載速度")
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=","")
就是這些了,這裡面用到了也就只有三個函數,instr mid replace 在前面都已經有說明了,都是最基本的應用,要是看不明白這裡的程式,就先到前面看看,這幾個函數的說明,搞明白了,這裡的代碼也就明白了
這幾句代碼的作用就是取截取到的一部份的頁面資訊,刪除一個無用的資訊
另外這裡截取到的頁面資訊也是為背景程式用的,比如,取一個軟體的名字都是從這裡已經截取的資訊中再取相應的東西出來,寫到資料庫中的
當然,如果你的電腦上已經有IIS的話,就可以打程式COPY過去就可以看到效果了
從softwrite.asp裡的131行開始才是真正截取軟體相關的一些資訊的,如果要改成截取其它的內容,這裡當然也要相應的做改動
dim SoftName,SoftSize,SoftLan
''上面的這句是定義一些變數,方便調用
SoftName=GetSourceCode(SourceCode,"<b><font color='#004FC6' size='3'>","</font></b></td></tr>","<b><font color='#004FC6' size='3'>")
''這句就是截取軟體名稱的,用到的就是 GetSourceCode()這個過程,前面已經有說明的,不明白的再看前面的說明
...
從131行到159行,都是截取軟體相關資訊的,都是只用到 GetSourceCode()這個過程
最後,所有的軟體資訊都截取了,存入相應的變數中,剩下的就是寫入資料庫的部份了,如果說你的應用都只是盜取人家的下載站的軟體資訊到驚雲中,後面的部份就不用更改了,就可以用,當然這裡要說明的是,所有前面定義的變數不能更改為別的,要是改了,後面部分的也要相應更改,要不會出錯的
關於寫入資料庫的部份,內容太多我一下子也說不清楚,在最前面我已經簡單的說明了一下,你可以去參改一些書,那樣,學ASP會更快一些
就這些了,其它的你要是不明白,我們再QQ聯絡,快過年了,在這裡一併說下,祝你新年快樂!呵呵~