C#投票作弊程式製作思路

來源:互聯網
上載者:User
程式|投票

  最近有個朋友 讓我幫他線上投票,因為網站是限制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來迴圈執行就可以了。

  哈哈,一切都是這麼簡單。不過還是覺得這麼做有背公平的原則。希望大家不要用到不好的地方,當然用於懲戒作弊的人除外



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。