找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19103|回复: 2

[原创代码] VBS+JS新浪投票刷分利器

[复制链接]
发表于 2013-10-31 04:44:44 | 显示全部楼层 |阅读模式
新浪投票不靠谱啊,连验证码都没有,一个人半天能刷好几百。
刷分利器 = 随机IP(ADSL路由+Chrome控制台JS断网重连) + 自动投票(IE+VBS)。

原理:
1. 新浪投票的重复检测机制:依靠判定投票者网络的外网IP在一定时间内是否多次投票来实现。(其实也不算弱,ADSL拨号还有时间呢,一分钟也就能投几票而已)
2. 由 1 可知,使用随机IP即可实现多次投票。

步骤:
1. 让IP自动随机。 (使用 ADSL路由 + Chrome控制台JS断网重连)
2. 让投票自动化。 (使用VBS + IE )

实现:
硬件坏境:ADSL猫 x1、路由器 x1、电脑 x1。
软件环境:windows xp(或win7)、默认浏览器IE、Chrome浏览器、杀毒软件请放行要执行的VBS脚本。


IP自动随机(没有ADSL宽带的可以不看,效率会低上好几倍)
以腾达某路由器为例:打开Chrome浏览器,打开路由器的网络设置,转到WLAN口设置页面,获取ADSL断开连接的按钮ID(在按钮上右键选“审查元素”)。
切换到 Console 选项卡,输入自动刷新IP的JS代码。
以下代码供参考:

  1. // 全局变量,记录最后IP与锁定
  2. var LastIP = document.getElementById("wan1_ip").innerHTML;
  3. var ChangeNow = true;

  4. // 检查IP是否变更
  5. function check_ip() {
  6.     var NowIP = document.getElementById("wan1_ip").innerHTML;
  7.     console.log("LastIP: %s, NowIP: %s, ChangeNow: %s,DateTime: %s", LastIP, NowIP, ChangeNow, now());
  8.     if ((NowIP == "0.0.0.0") || (NowIP == "")) {
  9.         ChangeNow = false;
  10.         return 0;
  11.     }
  12.     if ((LastIP == NowIP) && (ChangeNow == true)) {
  13.         change_ip();
  14.     } else {
  15.         LastIP = NowIP;
  16.         ChangeNow = false;
  17.     }
  18. }

  19. // 更改IP
  20. function change_ip() {
  21.     if (ChangeNow == true) {
  22.         console.log(" --- > ChangeNow: %s, DateTime: %s", ChangeNow, now());
  23.         ChangeNow = false;
  24.         sub_status_change('WAN1');
  25.     };
  26. }

  27. // 当前日期加时间(如:2009-06-12 12:00)
  28. function now()
  29. {
  30.         var now = new Date();
  31.         var year = now.getFullYear();       //年
  32.         var month = now.getMonth() + 1;     //月
  33.         var day = now.getDate();            //日
  34.         var hh = now.getHours();            //时
  35.         var mm = now.getMinutes();          //分
  36.     var ss = now.getSeconds();          //秒
  37.     var ms = now.getMilliseconds();     //毫秒
  38.         var clock = year + "-";
  39.         month < 10 ? clock += "0" : clock += month + "-";
  40.         day < 10   ? clock += "0" : clock += day + " ";
  41.         hh < 10    ? clock += "0" :        clock += hh + ":";
  42.         mm < 10    ? clock += '0' : clock += mm + ":";
  43.         ss < 10    ? clock += '0' : clock += ss + ".";
  44.         clock += ms;
  45.         return(clock);
  46. }

  47. // 时钟
  48. var timer1 = window.setInterval("check_ip()", 500);
  49. var timer2 = window.setInterval("ChangeNow=true;",25*1000);

  50. // 清除时钟
  51. //window.clearInterval(timer1);
  52. //window.clearInterval(timer2);
复制代码
·
·
·

投票自动化
使用VBS来实现投票功能,具体步骤为:
1. VBS打开投票页面网址
2. 找到投票人,并选中
3. 自动点击投票按钮
4. 完成

以下代码供参考:

  1. Do
  2.     TouPiao
  3.     CreateObject("WScript.Shell").Run "cmd /c taskkill /f /im iexplore.exe", 0, True
  4. Loop

  5. Sub TouPiao()

  6.     On Error Resume next
  7.     Do While Ping("www.sina.com") = False
  8.         WScript.Sleep 200
  9.     Loop

  10.     Set ie = CreateObject("internetexplorer.application") '创建浏览器对象
  11.     URL = "http://xxx.xxx.sina.com.cn/survey.php?id=xxx"   ' 投票网址
  12.    
  13.         With ie
  14.                 ' Configure the IE window
  15.                 .RegisterAsDropTarget = False
  16.                 '.statusbar = False : .toolbar = False : .menubar = False : .addressbar = False : .Resizable = False
  17.                 .Visible = True : .Navigate(URL)
  18.     End With
  19.    
  20.         With ie
  21.             .width = 600       : .height = 200   ' 宽度与高度
  22.                 .left = .document.parentWindow.screen.width \ 2 - 300    ' 居中显示
  23.                 .top  = .document.parentWindow.screen.height\ 2 - 200
  24.                 ' Test for IE 7 - cannot remove 'chrome' in that version
  25.                 REM nVersion  = CSng(replace(split(_
  26.                                                 REM .document.parentWindow.navigator.appVersion, " ")(3)_
  27.                                                 REM , ";", ""))
  28.                 REM if nVersion < 7.0 Then .FullScreen = True
  29.     End With
  30.    
  31.     WScript.Sleep 2000
  32.    
  33.     Do While ie.ReadyState <> 4           ' 这个是 判断 浏览器打开的网页是否装载 完全
  34.         If Not Ping("www.sina.com") = True Then Exit Sub
  35.         If Not LCase(ie.document.location.href) = LCase(URL) Then Exit Sub
  36.         If Not Err.Number = 0 Then Exit Sub
  37.         WScript.Sleep 2*100
  38.     Loop
  39.    
  40.     'WScript.Sleep 7*1000


  41.     Set Items = ie.document.getElementsByTagName("input")
  42.     For Each Item in Items
  43.         If Item.name = "投票者单选框名称" And Item.value = "投票者ID" Then
  44.             Item.focus()
  45.             Item.Click
  46.             rem Item.Click
  47.             
  48.             WScript.Sleep 1*1000
  49.             Exit For
  50.         End if
  51.     Next
  52.    
  53.     ie.document.getElementById("JS_Survey_Submit").Click    ' 自动点击投票
  54.     WScript.Sleep 3*1000
  55.    
  56.     ie.Quit

  57. End Sub


  58. ' ----------------------------------------------------------------------------------------------------
  59. ' Ping 判断网络是否联通
  60. ' Msgbox Ping("www.baidu.com")
  61. Function Ping(ByVal sHost)
  62.     Ping = False :  If sHost = "" Then Exit Function
  63.     On Error Resume Next
  64.     Dim objWMIService, colItems, colItem, Reply_StatusCode, Reply_bytes, Reply_time, Reply_TTL
  65.         Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  66.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PingStatus " & "Where Address = '" & sHost & "'",,48)
  67.         For Each objItem in colItems
  68.                 Reply_StatusCode = objItem.StatusCode        ' 状态,0正常
  69.                 Reply_bytes = objItem.ReplySize                    ' 包大小
  70.                 Reply_time = objItem.ResponseTime                ' 回应时间
  71.                 Reply_TTL = objItem.ResponseTimeToLive        ' 生存时间
  72.         If Reply_StatusCode = 0 Then Ping = True :  Exit For
  73.         Next
  74.         Set colItems = Nothing
  75.     Set objWMIService = Nothing
  76. End Function
复制代码
注:
此程序必须经专业人士自行修改后才能使用,本人不对他人使用该程序做的任何事负责。

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 感谢分享

查看全部评分

发表于 2013-11-28 23:35:13 | 显示全部楼层
谢谢lz分享。。。。。。。。。
发表于 2013-11-29 00:07:12 | 显示全部楼层
路过看看情况,哎
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:34 , Processed in 0.013599 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表