Valhalla Legends Forums Archive | Battle.net Bot Development | Packet Buffer

AuthorMessageTime
BreW
Alot of people told me its VERY hard to make a bot without one.
I want to take a shot at it, anyways.
Is it REALLY that hard? (btw im making my first bot)

for the first packet (an 0x05), what would be an appropriate value for the Client Token?
For the client ID, would I have to reverse the Dword name? (like turn SSHR over to RHSS)
I am really dumb and i get confused easily. Help?!
August 17, 2006, 3:14 AM
HdxBmx27
Making a binary bot isn't THAT hard with all the information theses days. I can pull a basic connection from scratch in less then an hr.
Check the Repository forum for public packet buffers.
The client token is a random number that client makes, any number will do, cept 0, Last time I tryed that I got IPBanned :P
And yes, the Client ID is 'reversed' tho, you should refer to them as the dwords they are.
http://BNetDocs.valhallalegends.com/ all the info you would need.
~-~(HDX)~-~
August 17, 2006, 3:59 AM
BreW
thanks, hdx. i have always been wondering what a binary bot really is.
+, i think i might have to use a packet buffer, because i do have no clue what i'm doing :/
August 17, 2006, 1:42 PM
l2k-Shadow
[quote author=BreW link=topic=15555.msg156861#msg156861 date=1155822172]
thanks, hdx. i have always been wondering what a binary bot really is.
+, i think i might have to use a packet buffer, because i do have no clue what i'm doing :/
[/quote]

Packet buffer is not essential but in order to make your code worth awhile you should use one. If you don't know how to work with packets then I suggest don't try making a bot. bnetdocs has all the information you need in order to successfully make a bot, also you may want to use a hashing library such as BNCSUtil for CheckRevision and hashing functions. Make sure to correctly follow all login sequences. StarCraft sequence on bnetdocs is outdated:
[code]
Header byte 0x01
C->S 0x50
S->C 0x25
S->C 0x50
C->S 0x25 (Optional Ping Packet)
C->S 0x51
S->C 0x51
C->S 0x3A
S->C 0x3A
Create Account:
C->S 0x3D
S->C 0x3D
---------------
C->S 0x0A
C->S 0x0C
[/code]

Those are all required packets to logon, there are a couple more that are optional to send. If you want to get that information, use a packet logger like Ethereal.
Also here is a packet buffer I wrote.

GL HF.
August 17, 2006, 3:53 PM
UserLoser
[quote author=l2k-Shadow link=topic=15555.msg156866#msg156866 date=1155830033]
[quote author=BreW link=topic=15555.msg156861#msg156861 date=1155822172]
thanks, hdx. i have always been wondering what a binary bot really is.
+, i think i might have to use a packet buffer, because i do have no clue what i'm doing :/
[/quote]

Packet buffer is not essential but in order to make your code worth awhile you should use one. If you don't know how to work with packets then I suggest don't try making a bot. bnetdocs has all the information you need in order to successfully make a bot, also you may want to use a hashing library such as BNCSUtil for CheckRevision and hashing functions. Make sure to correctly follow all login sequences. StarCraft sequence on bnetdocs is outdated:
[code]
Header byte 0x01
C->S 0x50
S->C 0x25
S->C 0x50
C->S 0x25 (Optional Ping Packet)
C->S 0x51
S->C 0x51
C->S 0x3A
S->C 0x3A
Create Account:
C->S 0x3D
S->C 0x3D
---------------
C->S 0x0A
C->S 0x0C
[/code]

Those are all required packets to logon, there are a couple more that are optional to send. If you want to get that information, use a packet logger like Ethereal.
Also here is a packet buffer I wrote.

GL HF.
[/quote]


The logon sequence for Starcraft on BnetDocs is outdated?  Since when and how so?
August 17, 2006, 7:01 PM
l2k-Shadow
[quote author=UserLoser link=topic=15555.msg156869#msg156869 date=1155841296]
[quote author=l2k-Shadow link=topic=15555.msg156866#msg156866 date=1155830033]
[quote author=BreW link=topic=15555.msg156861#msg156861 date=1155822172]
thanks, hdx. i have always been wondering what a binary bot really is.
+, i think i might have to use a packet buffer, because i do have no clue what i'm doing :/
[/quote]

Packet buffer is not essential but in order to make your code worth awhile you should use one. If you don't know how to work with packets then I suggest don't try making a bot. bnetdocs has all the information you need in order to successfully make a bot, also you may want to use a hashing library such as BNCSUtil for CheckRevision and hashing functions. Make sure to correctly follow all login sequences. StarCraft sequence on bnetdocs is outdated:
[code]
Header byte 0x01
C->S 0x50
S->C 0x25
S->C 0x50
C->S 0x25 (Optional Ping Packet)
C->S 0x51
S->C 0x51
C->S 0x3A
S->C 0x3A
Create Account:
C->S 0x3D
S->C 0x3D
---------------
C->S 0x0A
C->S 0x0C
[/code]

Those are all required packets to logon, there are a couple more that are optional to send. If you want to get that information, use a packet logger like Ethereal.
Also here is a packet buffer I wrote.

GL HF.
[/quote]


The logon sequence for Starcraft on BnetDocs is outdated?  Since when and how so?
[/quote]

Since 1.14, StarCraft client sends 0x3A and drops your connection if you use 0x29. Also you can no longer use 0x1E to logon as you could in the past.
August 17, 2006, 7:15 PM
MysT_DooM
im using 0x29 still....no problems for me...

edit: for sc there is no problem however for war2(0x1E), i dont know.
August 17, 2006, 9:21 PM
l2k-Shadow
Hmm really? I remember trying to login with 0x29 dropped me but I do know that official client uses 0x3A now so it's better to use that.
August 17, 2006, 9:50 PM
Networks
[quote author=BreW link=topic=15555.msg156847#msg156847 date=1155784494]
Alot of people told me its VERY hard to make a bot without one.
I want to take a shot at it, anyways.
Is it REALLY that hard? (btw im making my first bot)
[/quote]

It's not a question of whether it's hard to make a bot without one, it's really a fact that it makes handling data you get much easier instead of using heavily redundant code. Many packetbuffers are great since they can easily take out strings, dwords, words using a simple function that even keeps track of the position of where it is in the data. Packetbuffers make life easier, simple.
August 19, 2006, 2:15 AM

Search