如何计算动网论坛的积分?

如何计算动网论坛的积分?

今天,本来打算黑进去的,结果数据库down下来了,从这些MD5加密过的字符中
==========
idusernamepasswordflagLastLoginLastLoginIPadduser
9admin469e80d32c0559f81,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,362002-12-26 15:58:49127.0.0.1admin

D_ForumIDD_UserNameD_PasswordD_RealNameD_identityNoD_sexD_postcodeD_addressD_receiverD_emailD_forumnameD_forumurlD_telephoneD_mobileD_forumProviderD_versionD_challengePassWordD_icpNOD_web_intro
87dvbbsqVaRBtAOoQkc0ev7jQNTnihaoma111F111eway@aspsky.netdvbbs11动网先锋Dvbbs 6.1.0


===============
也发现了admin的密码,在此感谢www.cmd5.com的译码支持,为我省去了N多的时间,这个站,可以将常用的用MD5算法加密过的密码,瞬间还原出来(传说中的秒杀哈!!),"469e80d32c0559f8"经其还原为admin888。
虽然这一路作下来,还算顺利,不过,这也太顺利了吧,用这现成的东东,进不了这个站。看来也小看这管理员的水平,这个data.mdb,很可能是放在那儿的肉包子,一个陷阱,到此,我也就作罢了,不走黑这条路。

于是乎,将N久未用的帐号,再度启用。认真拜读论坛规则,作个踏实的参与者。这是一个好站。为了得到积分,我只能参与其宣传计划。
我将我的BOLG的左边,加入其宣传链接。在QQ上广为传发这样的AD--
帮我点下,骗点儿宣传积分
http://www.djtz.net/get.asp?get=4394
这是一个股票类网站的URL。谢啦。有好票,我告诉你哈。不过亏了不要怪我哈。

更是开辟新的战场,将ADSL反复的手工断开,再连接(这样,IP可以每次不同,不过最多也就255次,因为IP的最后那段就255最大了。还好,只是限制每天同IP访问多次,只算1次)。

然后 ,就是参考以下这篇文章了,原文如下(附其URL):


http://www.cnblogs.com/voodooq/archive/2006/06/24/434767.html
投票作弊程序制作思路
最近有个朋友 让我帮他在线投票,因为站点是限制IP的(这里其实是骗人的),我就帮他点了一下,可是我突然发现,第一名的投票数比后面的人多的很多,大概差3-4百票吧。我就觉得,第一个人肯定是找人帮忙投票了,但是这样就失去了投票本身的意义了。于是我就想故意搞恶一下。想到写一个自动投票的程序来完成。(算不算以暴制暴啊?)

我分析了投票的网站,上面说是限制IP的,但是根据我的分析,并不是限制IP,而是使用了COOKIES记录的投票的信息,而如果你清除了COOKIES就可以再投票了,不过这样需要每次去手动调整IE的参数,累都累死了。于是,我想能不能自动删除COOKIES并且自动提交页面提交呢?

通过以上的分析,我们知道了,作这个程序,需要两个环节:
1、自动清除COOKIES
2、自动提交表单

首先我们先看看第一个
我查询了,MSDN的网站,里面有个HI Script的专栏。介绍了很多执行WINDOWS脚本的技术,其中就有关于如何操作IE临时文件夹和COOKIES目录的功能。
http://www.microsoft.com/china/technet/community/scriptcenter/resources/hey1102.mspx

根据里面的方法,我在C#中写出了以下代码,用来删除COOKIES,要注意的是,其中的index.dat文件是无法删除的,所以我作了一个处理,删除了除他以为的所有内容,代码如下:
const int cookies = 33;
Shell32.Folder objFolder;
Shell32.FolderItems objFolderItems;
Shell32.ShellClass objShell;

objShell = new Shell32.ShellClass();
objFolder = objShell.NameSpace(cookies);
objFolderItems = objFolder.Items();
foreach(Shell32.FolderItem objFolderItem in objFolderItems)
{
if(!"index.dat".Equals(objFolderItem.Name.ToLower()))
{
File.Delete(objFolderItem.Path.ToString());
}
}

第一步解决了,该解决第二个问题了,我查询了一些资料。发现有两种方式可以解决我的问题
1、使用WebClient
这种方式是直接执行类似页面提交的方式,进行页面的控制,并且可以返回提交结果页的内容,速度快。

2、使用WebBrowser
这种方式类似于自己做了一个浏览器,然后控制页面中的对象进行提交。这样的速度有点慢。

所以我决定用第一种方式,代码如下:
WebClient wc = new WebClient();
string postData = "username=xxx"
wc.Headers.Add("Content-Type","application/x-www-form-urlencoded");
byte[] bReturn = wc.UploadData("http://www.xxx.xxx/vote.asp","POST",Encoding.Default.GetBytes(postData));
//MessageBox.Show(Encoding.Default.GetString(bReturn));
wc.Dispose();
看到了吧,这样就可以了。

剩下就是在用一个timer来循环执行就可以了。

哈哈,一切都是这么简单。不过还是觉得这么做有背公平的原则。希望大家不要用到不好的地方,当然用于惩戒作弊的人除外

========
回到我的原文,这老兄,也没有给我等现成的源代码,我也不算聪明,短时间内,也不会写得出来,就先记到这儿吧,有空了,再来试试,如果,写好了,肯定会将源代码共享出来的。

感谢您能读到这儿,我写得很乱吧。
再来个AD: http://ike.126.com
这可我的哈。

欢迎转载(也许还是有人转吧,再烂,也算是半原创吧)。请保留文章的完整性,可添加,但不能删改。