校内网刷人气工具DIY
文/图
前言:校内网xiaonei.com是国内领先的大学生互动空间。它严格限制注册,只对大学生开放。需要拥有xxx@xxx.edu.cn的学校邮箱或是在指定的大学IP地址范围内上网才能注册xiaonei.com帐号。是上网交友、展示自我的好去处。但是再漂亮的花儿没有人来观赏未免是件憾事,页面再漂亮,文章写得再好,没有人来看和宣传岂不是空忙一场?本人抱着共同学习编程的目的向小菜们介绍一款我自己编写的刷校内网访问人气的工具—5QRobot(校内网机器人),并将该工具从功能分析到编写出完整程序的过程展现在大家面前。
初出茅庐
和许多黑防读者一样我也是一名大学生,今年九月刚进大三,不过黑龄才一岁半多一点,半路出家,所以本人仍是小菜一个。去年小菜我偶然从同学那听说他们正在玩校内网,便也跟随潮流去校内网注册了一个ID耍耍,发现还是满好玩的,不过本人太懒,没想过要去苦心经营一番,快过半年了,页面人气居低不上,郁闷啊!想来那时黑龄一岁半吧,在黑防上看过几篇关于如何刷流量的文章,于是琢磨着想DIY一个专门刷校内网人气的工具耍耍,正好检验一下自己看了一年半载的黑防是否有点长进。结果居然还真让我搞出来这么个东西,就是上面所说的5QRobot喽!然后又打蛇随棍上,琢磨着斗胆也弄篇黑东西寄给黑防,诺诺诺,就是这篇了!^_^,第一次写,大家多多包涵!
知己知彼
好了不罗唆了,进入正题。所谓知己知彼,百战不殆,要想DIY出这么个工具,首先得明确我们想让这工具实现什么样的功能,此为知己,其次是要了解xiaonei.com的工作方式,此即知彼。下面请看
知彼:首先要说明的是,对同一个ID
来说,不论它曾访问过某个页面多少次,该页面的被访问次数都只能加1,也无法使用程序随机生成ID、密码以及对应的cookies来伪造一个用户来访问该页面,这当然是的,这一点很重要,它决定了我们这个工具
所使用的刷人气的方法。一般的某用户校内网的主页上会在“最近谁看过***的页面”一栏显示最近访问过该用户页面的人名以及头像(强烈建议GGMM把自己的头像弄艺术点,据我亲眼所见帅哥美女的头像被点的概率简直不是一般的大!!!不过这可要看各人的先天因素哦!@#$),如图1所示。
图1
还有,“***最近登陆的好友”一栏会显示该用户最近访问的好友的姓名和头像(图1和图2的人物头像被滤镜透明掉了),见图2。
图2
“***的留言栏”里面会显示在此流过言的用户姓名、头像和留言内容,见图3。
图3
以上几处便是需要我们要动脑筋的地方。另外在调试过程中发现,高频率的访问随机用户在短时间内是可以的,但是时间过短会出现如图4所示的情况,所以霸王硬上弓的方法在这里是行不通的,并且即使访问的频率不高,但连续访问100个页面以后则会出现如图5所示的情况。在这方面了解这几点就可以了。
图4
图5
知己:既然是刷人气的工具,那么使被刷的ID人气上升使一定要实现的了,针对上面所分析的,我们可以通过访问N个人的页面、自动留言以及自动加好友来换取一定概率的回访,这叫做礼尚往来。在软件的调试过程中我发现这个概率其实是比较大的,被访问的人和其他访问该页面的人都有可能回访,特别是头像比较PP、留言特别有个性的,啧啧,你看那个回访的概率呀!@#$但是呢,不要高兴的太早,针对图4和图5的情况我们怎么解决呢?网上的各种的刷流量工具都具有自动和快速见效的特点,很遗憾,我们这个工具不能做到快速见效这一点,所以这款针对校内网的工具就不用写多线程的Dll了。本是想用VB写程序结合VC写个多线程的Dll来提速的,说来惭愧,本人对纯粹C语言写的易做图面的console程序非常感冒,没有正儿八经地写过C程序,窃以为只要能看懂黑防上的C代码就OK了,每次真正写的时候错误百出,到现在为止只写过Dll给VB用,正巧这里用不到多线程,所以窃喜,在此敬告广大小菜:只追求看得懂,不真正去写程序是要吃亏的。上面解释了一下这款工具之所以刷起人气来不能立竿见影的原因,如果有谁能想出见效比较快的办法,期待分享之。
声明以及代码分析
好了,现在是知己又知彼,可以开战了。下面进入功能实现以及代码分析,本人写代码风格不标准,平常写代码没有被严格要求,可能有些代码不很简练,希望大家能够原谅!代码比较长,在代码分析部分我只贴出各个主要功能模块的代码,其它逻辑处理部分见本文附带的全部源码。
一。工具使用以及测试
在“知彼”的分析中我们知道,程序在自动访问别人的页面的时候,需要在别人的页面上留下我们来访问过的痕迹,也就是图一中所显示的姓名和头像。要实现这一点就需要保存cookie,诺,这个应该明白是啥吧?好在校内网登陆界面上有个“下次自动登陆”选项,在测试以及使用程序的时候需要先把“下次自动登陆”勾上,再把需要刷人气的ID登陆上去,这样在我们的程序在单纯提交网址的时候能起到访问别人页面的作用,并且在自动加好友和自动留言的时候也是需要的(同时登陆多个ID时,访问其它人页面只会留下登陆时勾选“下次自动登陆”了的ID的信息)。好,首先来实现自动访问页面,登陆测试用ID230685961,勾选“下次自动登陆”,进入到“我的页面”后在“最近谁看过***的页面” 里面随便点选一个人物头像,进入其页面,观察浏览器地址栏的地
o?id= 62****43。这样多试几次并对比之后我们会发现访问别人的页面实际上就是向服务器提交这样一个固定格式的网址:http://xiaonei.com/getuser.do?id=”+待访问的页面ID,这样在程序里面就容易实现了,可以使用INET控件的OpenUrl方法。第一次写代码测试的时候我就是采用这种方法,但是在处理返回的页面内容的时候自我感觉太棘手,所以我换了另外一种方法。不知道大家对06年第2期黑防第134页“入侵点滴”的《CMD下下载文件》一文可有印象?该文介绍的方法字面上是在CMD下完成GIF文件的下载,实际上是利用VBS建立XMLHTTP对象,并将该GIF文件的url作为该对象的OPEN方法的参数,来调用OPEN方法实现GIF文件的下载,然后结合ADODB.Stream对象本身的SaveToFile方法来实现对下载所得的GIF文件的保存。没有印象的小黑们请赶快拿出那本黑防仔细研究,不懂就不好了,因为下面将要介绍的几个关键函数都是以该文所介绍的方法为基础的,实际编程的时候稍有修改,大家可要把这个研究透了哦。以后看黑防可要细心哦,好东西可是要靠自己去发现呢!我写的代码如下:
Private Function post1(ByVal url2 As String)
url2是待提交的网址,这里是http://xiaonei.com/getuser.do?id=”+待访问的页面ID
On Error Resume Next ’设置错误陷阱
Set pRes2 = CreateObject("Micro
soft.XMLHTTP") ’创建XMLHTTP对象并实例化
pRes2.Open "get", url2, False’调用XMLHTTP对象的Open方法实现网址的提交,这里采用get是向服务器发索取数据的一种请求,具体介绍请百度一下
pRes2.send ’发送请求
End Function
这样,在程序需要访问页面时直接调用post1函数即可,该函数实际上也是对对应页面进行访问,只不过这里我们只用它来抓取对应的网页内容。既然它相当于访问相应的页面,那么在知彼部份提到的两种情况:待访问的页面设置了隐私,或者需要输入验证码才能继续访问就有 可能出现,所以我们需要再编写一个函数来处理这种意外情况,我写的函数如下:
Private Function chk2(ByVal sc As String) As Long
参数sc为待检验的ID ,此函数检验将要访问的页面是否禁止访问 (即非好友禁止访问)或者需要输入验证码
If StrComp(sc, TextBox4.Text) = 0 Then
chk2 = 1
TextBox4.Text为我们自己的ID,如果待检验的ID是自己的ID则跳过, 函数返回1
Exit Function
End If
chs = tsl("http://xiaonei.com
/getuser.do?id=" & sc)
根据传入的ID构造对应的url, 并将其作为函数tsl的参数调用函数tsl得到与该url对应的页面的内容 ,稍后会讲到tsl函数,大家只要知道它的返回值是转换编码后的网页内容就 OK了
If InStr(1, chs, "隐私设置", vbTextCompare) <> 0 Or InStr(1, chs, "您访问的内容不存在", vbTextCompare) <> 0 Then
chk2 = 2
如果抓取的网页内容里面含有“ 隐私设置” 或者“您
补充:综合编程 , 其他综合 ,