C#投票作弊程序制作思路
2013-05-03 15:05
232 查看
最近有个朋友 让我帮他在线投票,因为站点是限制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文件是无法删除的,所以我作了一个处理,删除了除他以为的所有内容,代码如下:
第一步解决了,该解决第二个问题了,我查询了一些资料。发现有两种方式可以解决我的问题
1、使用WebClient
这种方式是直接执行类似页面提交的方式,进行页面的控制,并且可以返回提交结果页的内容,速度快。
2、使用WebBrowser
这种方式类似于自己做了一个浏览器,然后控制页面中的对象进行提交。这样的速度有点慢。
所以我决定用第一种方式,代码如下:
看到了吧,这样就可以了。
剩下就是在用一个timer来循环执行就可以了。
哈哈,一切都是这么简单。不过还是觉得这么做有背公平的原则。希望大家不要用到不好的地方,当然用于惩戒作弊的人除外
我分析了投票的网站,上面说是限制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来循环执行就可以了。
哈哈,一切都是这么简单。不过还是觉得这么做有背公平的原则。希望大家不要用到不好的地方,当然用于惩戒作弊的人除外
相关文章推荐
- C#投票作弊程序制作思路
- 投票作弊程序制作思路
- 投票作弊程序制作思路(续)——突破IP限制投票
- 投票作弊程序制作思路
- C#简单远程控制制作源代码程序以及思路(客户端)
- C#简单远程控制制作源代码程序以及思路(服务器端)
- C# 使用 Environment.GetCommandLineArgs 方法 制作*.exe和参数 供其他程序调用
- C#打包制作安装程序
- C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 (续集Tomcat 配置)
- 利用c#制作托盘程序,并禁止多个应用实例运行
- .net+mssql制作抽奖程序思路及源码
- C#制作QQ截图的自动框选功能的个人思路(一)<思路介绍>
- 如何利用C#编写网页投票器程序 如何使用代理来投票 代理IP来投票
- Visaul C#托盘程序制作心得
- C# windows服务安装程序的制作
- 投票程序2 图像识别 Using The Office 2007 OCR Component in C#
- C#Winform基础 xml配合dictionary制作登录小程序
- Visaul C#托盘程序制作心得
- C#Windows 服务制作安装删除. 用户注销后,程序继续运行
- C# 安装程序制作,如何添加第三方DLL以及自定义的文件夹(如uploadFiles 文件夹)