Valhalla Legends Forums Archive | Battle.net Bot Development | Creating An Account

AuthorMessageTime
MasterMT
Is there any documentation anywhere that could help me to learn how to create bnet accounts using the 0x1E, 0x12, 0x06, 0x07, 0x2D. 0x30/36 connection with my Bot? Perhaps someone could post how/when it's done?
April 24, 2003, 2:47 PM
Camel
what the heck are you logging in with, jstr?
0x3D will work with 0x1E login (tested with JSTR =P)

[code]SendPacket &H3D, CalcHashBuf(Password) & UserName & Chr(0)[/code]
April 24, 2003, 4:36 PM
MesiaH
stop showing that off, u know nobody has calchashbuf!!!
April 24, 2003, 5:36 PM
Camel
^_^

it's X() in bnetauth if you want to do it "the wrong way"
April 24, 2003, 6:05 PM
MasterMT
I'm still new to the whole bnet login thing, so perhaps you can tell me the 0x50 equivalent in the 0x1E way of loging in? Meaning when would I send the 0x3D? I'm using SEXP. The bot is made in VB.
April 24, 2003, 9:01 PM
Camel
0x3D replaces 0x29
April 25, 2003, 12:19 AM
Arta
www.valhallalegends.com/arta/bnetdocs/ has all the information you'll need.

The logon sequence you mentioned is very old and will only work for Diablo 1 and it's shareware equivalent. If you want to log on using current clients you'll need to use SID_AUTH_INFO (0x50) and SID_AUTH_CHECK (0x51) and soforth. I'd recommend using the new version, as it's not signficantly harder, and allows you to do more - the old login will only work for DRTL/DSHR, wearas the new one will work for Warcraft II, Starcraft, Broodwar, DiabloII, and LoD - all of which use the same packets, with minor changes - thus saving yourself a lot of work in the longrun.
April 27, 2003, 7:26 PM
TheMinistered
[quote]stop showing that off, u know nobody has calchashbuf!!![/quote]

Let's see whose fault is that? Your own! I swear, i'm sure you can find publicly released source code of a hashing function in c++ for this, or you can disassemble it and reverse it yourself. Either way shouldn't be to much trouble. Then you can directly code it in visual basic (reverse method), or you can directly port it to visual basic (c++ method). There is one problem, visual basic lacks built-in support for all bitwise operations. However, you can implement them using a couple methods.
April 27, 2003, 8:40 PM
Camel
[quote author=Arta[vL] link=board=17;threadid=1146;start=0#msg8611 date=1051471588]the old login will only work for DRTL/DSHR[/quote]
and JSTR

[quote author=TheMinistered link=board=17;threadid=1146;start=0#msg8619 date=1051476044]visual basic lacks built-in support for all bitwise operations.[/quote]
just shifting ops..and technicly adding/subtracting too -_-
April 27, 2003, 10:32 PM
St0rm.iD
[quote author=Camel link=board=17;threadid=1146;start=0#msg8629 date=1051482778]
[quote author=Arta[vL] link=board=17;threadid=1146;start=0#msg8611 date=1051471588]the old login will only work for DRTL/DSHR[/quote]
and JSTR
[/quote]

No.
April 27, 2003, 10:37 PM
Arta
[quote author=Maddox link=board=17;threadid=1146;start=0#msg8617 date=1051474910]
You can still use 0x07, and then use 0x29 for SC/BW, D2 and WAR2.
[/quote]

Not since last patch, you can't (afaik)
April 27, 2003, 10:42 PM
MesiaH
my brood wars client still uses 0x29 and 0x36 for some unkown reason, and every client can still use that login sequence (besides d2xp, and war3 of course)
April 27, 2003, 10:42 PM
Arta
hmm, ok then, my mistake :)
April 27, 2003, 10:45 PM
MesiaH
+1 for arta admitting mistake, most moderators try to cover it up with language u cant understand :P
April 28, 2003, 1:03 AM
MasterMT
I've decided to just convert the connection from the old way to the new way, but after I send 0x51 it just closes my connection. Am I doing it wrong or is it a problem in my code?

Sent: 0x50
Recv: 0x25
Sent: 0x25
Recv: 0x50
Sent: 0x51
April 28, 2003, 6:28 PM
MasterMT
Here's the code I'm currently using for my version packet
[code]
Function CreateVersionPacket(hash As String, MPQName As String) As String
Dim version As Long
Dim Checksum As Long
Dim ExeInfo As String
Dim result As Long
Dim VersionByte As Long
Dim path As String
Dim GameExe As String
path = App.path & "\STAR\"
VersionByte = &HC7
GameExe = "Starcraft.exe"
ExeInfo = Space$(256)

result = CheckRevision(path & GameExe, path & "storm.dll", path & "battle.snp", hash, version, Checksum, ExeInfo, MPQName)

NullTruncString ExeInfo

If Not FileExists(path & GameExe) Then

CreateVersionPacket = INVALID_VERSION_PACKET

Else

CreateVersionPacket = "68XI" & StrReverse("SEXP") & MKL(VersionByte) & MKL(version) & MKL(Checksum) & ExeInfo & Chr$(0)

End If

End Function
[/code]
April 28, 2003, 7:13 PM
Camel
[quote author=St0rm.iD link=board=17;threadid=1146;start=0#msg8631 date=1051483055]
[quote author=Camel link=board=17;threadid=1146;start=0#msg8629 date=1051482778]
[quote author=Arta[vL] link=board=17;threadid=1146;start=0#msg8611 date=1051471588]the old login will only work for DRTL/DSHR[/quote]
and JSTR
[/quote]

No.
[/quote]
uh, yes...
April 29, 2003, 2:46 AM
MesiaH
[quote author=Camel link=board=17;threadid=1146;start=15#msg8751 date=1051584413]
[quote author=St0rm.iD link=board=17;threadid=1146;start=0#msg8631 date=1051483055]
[quote author=Camel link=board=17;threadid=1146;start=0#msg8629 date=1051482778]
[quote author=Arta[vL] link=board=17;threadid=1146;start=0#msg8611 date=1051471588]the old login will only work for DRTL/DSHR[/quote]
and JSTR
[/quote]

No.
[/quote]
uh, yes...
[/quote]

No. Not only does one of my bots still use it, but my brood wars client does still.
April 29, 2003, 6:53 PM
Camel
[quote author=MesiaH link=board=17;threadid=1146;start=15#msg8782 date=1051642389]
[quote author=Camel link=board=17;threadid=1146;start=15#msg8751 date=1051584413]
[quote author=St0rm.iD link=board=17;threadid=1146;start=0#msg8631 date=1051483055]
[quote author=Camel link=board=17;threadid=1146;start=0#msg8629 date=1051482778]
[quote author=Arta[vL] link=board=17;threadid=1146;start=0#msg8611 date=1051471588]the old login will only work for DRTL/DSHR[/quote]
and JSTR
[/quote]

No.
[/quote]
uh, yes...
[/quote]

No. Not only does one of my bots still use it, but my brood wars client does still.
[/quote]

who are you saying no to?
and btw, i know it's possible to use the old login sequence with, afaik, any single cd keyed product
April 29, 2003, 8:08 PM

Search