W3, stealthbot and PvPGN

This is a discussion on W3, stealthbot and PvPGN within the Warcraft 3 forum board part of the Hot Games category; Stealthbot: Save it as PvPGN.txt and put it in your /.../Stealthbot 2.7/Scripts/ Folder. Start your bot enable the script and ...

Results 1 to 3 of 3
  1. #1
    Tyrande's Avatar
    Tyrande is offline Member
    Array
    Join Date
    Jun 2009
    Posts
    40
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    9
    Reputation
    4

    Post W3, stealthbot and PvPGN

    Stealthbot:

    Save it as PvPGN.txt and put it in your /.../Stealthbot 2.7/Scripts/ Folder. Start your bot enable the script and connect.

    Script("Name") = "PvPGN Enabler"
    Script("Author") = "Hdx"
    Script("Major") = 0
    Script("Minor") = 3
    Script("Revision") = 0
    Script("Description") = "Forces SB to use XSHA1 hashed passwords when logging into Battle.net, " & _
    "because PvPGN servers use outdated ones like that. " & _
    "Also forces SB to send your password in plain text when creating a WC3 account, " & _
    "because PvPGNs are insecure like that."

    '================================================= ====
    'Change Log:
    '================================================= ====
    ' v0.3.0:
    ' Will now translate the Online Status field in WC3
    ' clan member list, and clan update to something SB
    ' can handle. Therefore fixing Error #35600.
    ' Note: This error has been fixed in StealthBot as of
    ' build #449
    '
    ' v0.2.0:
    ' Can now create Accounts on PvPGN servers
    '
    ' v0.1.0:
    ' Initial Creation, Can login to PvPGN servers using
    ' XSHA1 passwords.
    '================================================= ====

    Const SID_AUTH_ACCOUNTCREATE = &H52
    Const SID_AUTH_ACCOUNTLOGONPROOF = &H54
    Const SID_CLANMEMBERLIST = &H7D
    Const SID_CLANMEMBERSTATUSCHANGE = &H7F
    Dim SwitchPackets

    Sub Event_Load()
    SwitchPackets = True
    End Sub



    Sub Event_PacketSent(Protocol, ID, Length, Data)
    If UCase(Protocol) = "BNCS" Then
    Data = Mid(Data, 5) ' Strip The Header
    Select Case ID
    Case SID_AUTH_ACCOUNTCREATE: Call SEND_SID_AUTH_ACCOUNTCREATE (Data)
    Case SID_AUTH_ACCOUNTLOGONPROOF: Call SEND_SID_AUTH_ACCOUNTLOGONPROOF(Data)
    End Select
    End If
    End Sub

    Sub Event_PacketReceived(Protocol, ID, Length, Data)
    If UCase(Protocol) = "BNCS" Then
    Data = Mid(Data, 5) ' Strip The Header
    Select Case ID
    Case SID_CLANMEMBERLIST: Call RECV_SID_CLANMEMBERLIST (Data)
    Case SID_CLANMEMBERSTATUSCHANGE: Call RECV_SID_CLANMEMBERSTATUSCHANGE(Data)
    End Select
    End If
    End Sub

    '=======================================
    'SID_AUTH_ACCOUNTCREATE (0x52) C->S
    '=======================================
    ' For Normal Battle.Net:
    ' (BYTE[32]) Salt (s)
    ' (BYTE[32]) Verifier (v)
    ' (STRING) Username
    '
    ' For PvPGN:
    ' (BYTE[32]) Salt (s)
    ' (BYTE[32]) Plain Text Password
    ' (STRING) Username
    '=======================================
    Sub SEND_SID_AUTH_ACCOUNTCREATE(Data)
    If (SwitchPackets = True) Then

    Dim pBuff
    Dim Salt
    Dim Username

    Set pBuff = SSC.DataBufferEx()
    With pBuff
    .Data = Data
    Salt = .GetRaw(32)
    .GetRaw(32)
    Username = .GetString()

    .Clear

    .InsertNonNTString Salt
    .InsertNonNTString Left(BotVars.Password & String(32, Chr(0)), 32) 'Note: This does not modify the password's casing,
    'I do not know if PvPGN does that. I need someone
    'to confirm/deny that it does.
    .InsertNTString CStr(Username)

    VetoThisMessage 'Don't Send Verifier
    SwitchPackets = False

    AddChat vbYellow, "[PPGN] Switching password verifier to plain text password"
    .SendPacket SID_AUTH_ACCOUNTCREATE

    SwitchPackets = True
    End With
    Set pBuff = Nothing
    End If
    End Sub

    '=======================================
    'SID_AUTH_ACCOUNTLOGONPROOF (0x54) C->S
    '=======================================
    ' For Normal Battle.Net:
    ' (BYTE[20]) Client Password Proof (M1)
    '
    ' For PvPGN:
    ' (BYTE[20]) XSHA1 Password Hash
    '=======================================
    Sub SEND_SID_AUTH_ACCOUNTLOGONPROOF(Data)
    If (SwitchPackets = True) Then

    Dim pBuff
    Dim passHash

    passHash = SSC.XSHA1(BotVars.Password) 'Note: This does not modify the password's casing,
    'I do not know if PvPGN does that. I need someone
    'to confirm/deny that it does.
    If Len(passHash) = 20 Then
    VetoThisMessage 'Don't Send M1
    SwitchPackets = False

    AddChat vbYellow, "[PPGN] Switching password proof to XSHA1 Hash"

    Set pBuff = SSC.DataBufferEx()
    pBuff.InsertNonNTString CStr(passHash)
    pBuff.SendPacket SID_AUTH_ACCOUNTLOGONPROOF
    Set pBuff = Nothing

    SwitchPackets = True
    Else
    AddChat vbYellow, "[PPGN] Could not XSHA1 Hash your password, proceeding with SRP login"
    End If
    End If
    End Sub

    '============================================
    'SID_CLANMEMBERLIST (0x7D) S->C
    '============================================
    ' (DWORD) Cookie
    ' (BYTE) Number of Members
    ' For each member:
    ' (STRING) Username
    ' (BYTE) Rank
    ' (BYTE) Online Status
    ' (STRING) Location
    '============================================
    ' On normal Battle.net the 'Online Status'
    'byte is always either 1 or 0, yes/no.
    'SB does some bad math with this. which beaks
    'if that field is anything but 1/0.
    'This bug has been fixed in the latest SVN
    'Build 449+, but for now I can script the fix.
    '============================================

    Sub RECV_SID_CLANMEMBERLIST(Data)
    If (SwitchPackets = True) Then
    Dim inBuff
    Dim outBuff
    Dim count
    Dim x
    Dim status

    Set inBuff = SSC.DataBufferEx()
    Set outBuff = SSC.DataBufferEx()

    inBuff.Data = Data
    VetoThisMessage
    With outBuff
    'Insert Dummy BNCS Header
    .InsertByte &HFF
    .InsertBYTE SID_CLANMEMBERLIST
    .InsertWord 0

    .InsertDWORD inBuff.GetDWORD
    count = inBuff.GetByte
    .InsertByte count

    For x = 1 to Count
    .InsertNTString inBuff.GetString
    .InsertByte inBuff.GetByte

    status = inBuff.GetByte
    If (status = 0) Then
    .InsertByte 0
    Else
    .InsertByte 1
    End If
    .InsertNTString inBuff.GetString
    Next

    SwitchPackets = False
    SSC.ForceBNCSPacketParse .Data
    SwitchPackets = True
    End With
    End If
    End Sub


    '============================================
    'SID_CLANMEMBERLIST (0x7D) S->C
    '============================================
    ' (STRING) Username
    ' (BYTE) Rank
    ' (BYTE) Status
    ' (STRING) Location
    '============================================
    ' SB does some bad math with the 'Status' field
    'This bug has been fixed in the latest SVN
    'Build 449+, but for now I can script the fix.
    '============================================
    Sub RECV_SID_CLANMEMBERSTATUSCHANGE(Data)
    If (SwitchPackets = True) Then
    Dim inBuff
    Dim outBuff

    Set inBuff = SSC.DataBufferEx()
    Set outBuff = SSC.DataBufferEx()

    inBuff.Data = Data
    VetoThisMessage
    With outBuff
    'Insert Dummy BNCS Header
    .InsertByte &HFF
    .InsertBYTE SID_CLANMEMBERSTATUSCHANGE
    .InsertWord 0

    .InsertNTString inBuff.GetString
    .InsertByte inBuff.GetByte
    If (inBuff.GetByte = 0) Then
    .InsertByte 0
    Else
    .InsertByte 1
    End If
    .InsertNTString inBuff.GetString

    SwitchPackets = False
    SSC.ForceBNCSPacketParse .Data
    SwitchPackets = True
    End With
    End If
    End Sub
    w3:

    You'll need a Loader
    Download the one in the Attachments

    And a .reg file with the server IP.

    1.
    Register the .reg and put the 2 loader files in your w3 folder.

    2.
    Click on the w3l.exe file.
    Select the new server in your server list.
    Connect. (Using w3l to connect to official servers may get you banned)

    Bug with the loader and Win7
    Fix:
    1. Run CMD.exe as administrator

    2. Copy and Paste the line under then ENTER.

    bcdedit.exe /set {current} nx AlwaysOff
    If CMD.exe isn't started as administrator, it won't work.

    Credits to Hdx for creating the PvPGN enabler.
    Attached Files

  2. The Following User Says Thank You to Tyrande For This Useful Post:


  3. #2
    XploDe31 is offline Newbie
    Array
    Join Date
    Sep 2010
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0

    Talking

    Thanks , work perfect keep it up ^^

  4. #3
    room21 is offline Newbie
    Array
    Join Date
    Oct 2010
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    thsnkd, I was looking for this to implement in my w3 dota pvpgn server

Similar Threads

  1. how to connect 2 account pvpgn wc3 at the sametime
    By gulp in forum Warcraft 3 Hacks, bots and tools
    Replies: 3
    Last Post: 02-03-2010, 10:15 AM
  2. [Guide] -connecting too a pvpgn server
    By jayezor in forum Warcraft 3 forum
    Replies: 0
    Last Post: 01-30-2010, 11:47 AM
  3. Warcraft 3 pvpgn server.
    By jayezor in forum Warcraft 3 forum
    Replies: 0
    Last Post: 01-27-2010, 02:11 AM
  4. PvPGN Antihack
    By Callmetoto in forum Warcraft 3 forum
    Replies: 0
    Last Post: 12-11-2008, 01:16 AM
  5. What is PVPGN?
    By SatanTiger in forum Warcraft 3 forum
    Replies: 0
    Last Post: 03-04-2007, 06:44 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •