日期:2010-07-25  浏览次数:21186 次

程序名称: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) 的绝对值,也是空字符串。未初始化的变数,其绝对为 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 在前面都已经有说明了,都是最基本的应用,要是看不明白这里的程序,就先到前面看看,这几个函数的说明,搞明白了,这里的代码也就明白了

这几句代码的作用就是取截取到的一部份的页面信息,删除一个无用的信息
另外这里截取到的页面信息也是为后台的程序用的,比如,取一个软件的名字都是从这里已经截取的信息中再取相应的东西出来,写到数据库中的


当然,如果你的电脑上