返回列表 发帖

[原创代码] 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代码。
以下代码供参考:
// 全局变量,记录最后IP与锁定
var LastIP = document.getElementById("wan1_ip").innerHTML;
var ChangeNow = true;
// 检查IP是否变更
function check_ip() {
    var NowIP = document.getElementById("wan1_ip").innerHTML;
    console.log("LastIP: %s, NowIP: %s, ChangeNow: %s,DateTime: %s", LastIP, NowIP, ChangeNow, now());
    if ((NowIP == "0.0.0.0") || (NowIP == "")) {
        ChangeNow = false;
        return 0;
    }
    if ((LastIP == NowIP) && (ChangeNow == true)) {
        change_ip();
    } else {
        LastIP = NowIP;
        ChangeNow = false;
    }
}
// 更改IP
function change_ip() {
    if (ChangeNow == true) {
        console.log(" --- > ChangeNow: %s, DateTime: %s", ChangeNow, now());
        ChangeNow = false;
        sub_status_change('WAN1');
    };
}
// 当前日期加时间(如:2009-06-12 12:00)
function now()
{
var now = new Date();
var year = now.getFullYear();       //年
var month = now.getMonth() + 1;     //月
var day = now.getDate();            //日
var hh = now.getHours();            //时
var mm = now.getMinutes();          //分
    var ss = now.getSeconds();          //秒
    var ms = now.getMilliseconds();     //毫秒
var clock = year + "-";
        month < 10 ? clock += "0" : clock += month + "-";
        day < 10   ? clock += "0" : clock += day + " ";
        hh < 10    ? clock += "0" : clock += hh + ":";
        mm < 10    ? clock += '0' : clock += mm + ":";
        ss < 10    ? clock += '0' : clock += ss + ".";
        clock += ms;
return(clock);
}
// 时钟
var timer1 = window.setInterval("check_ip()", 500);
var timer2 = window.setInterval("ChangeNow=true;",25*1000);
// 清除时钟
//window.clearInterval(timer1);
//window.clearInterval(timer2);COPY
·
·
·

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

以下代码供参考:
Do
    TouPiao
    CreateObject("WScript.Shell").Run "cmd /c taskkill /f /im iexplore.exe", 0, True
Loop
Sub TouPiao()
    On Error Resume next
    Do While Ping("www.sina.com") = False
        WScript.Sleep 200
    Loop
    Set ie = CreateObject("internetexplorer.application") '创建浏览器对象
    URL = "http://xxx.xxx.sina.com.cn/survey.php?id=xxx"   ' 投票网址
   
With ie
' Configure the IE window
.RegisterAsDropTarget = False
'.statusbar = False : .toolbar = False : .menubar = False : .addressbar = False : .Resizable = False
.Visible = True : .Navigate(URL)
    End With
   
With ie
    .width = 600       : .height = 200   ' 宽度与高度
.left = .document.parentWindow.screen.width \ 2 - 300    ' 居中显示
.top  = .document.parentWindow.screen.height\ 2 - 200
' Test for IE 7 - cannot remove 'chrome' in that version
REM nVersion  = CSng(replace(split(_
REM .document.parentWindow.navigator.appVersion, " ")(3)_
REM , ";", ""))
REM if nVersion < 7.0 Then .FullScreen = True
    End With
   
    WScript.Sleep 2000
   
    Do While ie.ReadyState <> 4           ' 这个是 判断 浏览器打开的网页是否装载 完全
        If Not Ping("www.sina.com") = True Then Exit Sub
        If Not LCase(ie.document.location.href) = LCase(URL) Then Exit Sub
        If Not Err.Number = 0 Then Exit Sub
        WScript.Sleep 2*100
    Loop
   
    'WScript.Sleep 7*1000
    Set Items = ie.document.getElementsByTagName("input")
    For Each Item in Items
        If Item.name = "投票者单选框名称" And Item.value = "投票者ID" Then
            Item.focus()
            Item.Click
            rem Item.Click
            
            WScript.Sleep 1*1000
            Exit For
        End if
    Next
   
    ie.document.getElementById("JS_Survey_Submit").Click    ' 自动点击投票
    WScript.Sleep 3*1000
   
    ie.Quit
End Sub
' ----------------------------------------------------------------------------------------------------
' Ping 判断网络是否联通
' Msgbox Ping("www.baidu.com")
Function Ping(ByVal sHost)
    Ping = False :  If sHost = "" Then Exit Function
    On Error Resume Next
    Dim objWMIService, colItems, colItem, Reply_StatusCode, Reply_bytes, Reply_time, Reply_TTL
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_PingStatus " & "Where Address = '" & sHost & "'",,48)
For Each objItem in colItems
Reply_StatusCode = objItem.StatusCode ' 状态,0正常
Reply_bytes = objItem.ReplySize     ' 包大小
Reply_time = objItem.ResponseTime ' 回应时间
Reply_TTL = objItem.ResponseTimeToLive ' 生存时间
        If Reply_StatusCode = 0 Then Ping = True :  Exit For
Next
Set colItems = Nothing
    Set objWMIService = Nothing
End FunctionCOPY
注:
此程序必须经专业人士自行修改后才能使用,本人不对他人使用该程序做的任何事负责。
1

评分人数

『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

谢谢lz分享。。。。。。。。。

TOP

路过看看情况,哎

TOP

返回列表