Board logo

标题: [原创代码] VBS+JS新浪投票刷分利器 [打印本页]

作者: yu2n    时间: 2013-10-31 04:44     标题: VBS+JS新浪投票刷分利器

新浪投票不靠谱啊,连验证码都没有,一个人半天能刷好几百。
刷分利器 = 随机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
复制代码
注:
此程序必须经专业人士自行修改后才能使用,本人不对他人使用该程序做的任何事负责。
作者: hzcxdgioa    时间: 2013-11-28 23:35

谢谢lz分享。。。。。。。。。
作者: hzcxdgioa    时间: 2013-11-29 00:07

路过看看情况,哎




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2