Valhalla Legends Forums Archive | Battle.net Bot Development | Sigh...

AuthorMessageTime
Myndfyr
I once again turn to you guys for help...

**(see edit)** Would anybody be willing to just show me their C++ of using a windows socket to connect specifically to Battle.net? I have successfully gotten my bot to connect to BNLS, but now I'm stuck again... I think that I might be using the wrong protocol - but then again, I really don't think that. TCP/IP, isn't it?

Anyway, I've lost my ability to packet-capture for the next week or two, because I had to send in my laptop for repairs, and Ethereal doesn't do packet captures over a modem (yes, yes, I know I'm a lamer still on 56K). I used to use my laptop to capture packets sent over my wireless network (long story about why I have wireless and not cable) at home or at school. So, I can't tell whether or not I'm using the right setup.

What I do know right now is this - my BeginReceiveFrom method is ending immediately, and returning no data. I never get Bnet's reply for SID_AUTH_INFO.

If I call BeginReceiveFrom, nothing happens. If I throw in the SendTo call with the SID_AUTH_INFO packet, I'm SOL.

Help!!! Please!

--Rob

EDIT: Alternatively, if someone would be kind enough to send me just some packetlogs of Starcraft connecting to/interacting with Battle.net, I would be more than grateful. I can be emailed at DarkTemplar@clan-aoa.org. TIA. --Rob
September 27, 2003, 1:11 AM
Arta
Are you sending the correct protocol byte (0x01)? If so, your SID_AUTH_INFO is probably wrong. A sample for this packet is below. It does NOT include a header (FF 50 3A 00) and the version byte is out of date.

[code]
00 00 00 00 36 38 58 49 50 58 45 53 c5 00 00 00 ....68XIPXES....
00 00 00 00 cc 6b 8f 9d 2c 01 00 00 09 04 00 00 .....k..,.......
09 04 00 00 55 53 41 00 55 6e 69 74 65 64 20 53 ....USA.United S
74 61 74 65 73 00 tates.
[/code]
September 27, 2003, 3:04 AM
Myndfyr
Ahh, I've found that my stupid socket didn't realize that bnet stopped transmitting. It was due to an IPBan. I guess the benefit to being a lamer with a modem is that I can d/c and r/c really quick. =)

I'm working on 0x51 now - SID_AUTH_CHECK - and it's getting me IP banned.

Unfortunately, the hex editor I'm using doesn't support copying the hex right out of the program:

[code]
0000 FF 51 76 00 CB 3E 63 67 01 00 01 01 5B 6F 24 F3
0010 01 00 00 00 00 00 00 00 xx xx xx xx xx xx xx xx
0020 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
0030 xx xx xx xx xx xx xx xx xx xx xx xx 53 74 61 72
0040 63 72 61 66 74 2E 65 78 65 20 30 33 2F 32 38 2F
0050 30 33 20 30 34 3A 32 31 3A 35 36 20 31 30 36 34
0060 39 36 30 00 00 52 6F 62 65 72 74 20 41 2E 20 50
0070 61 76 65 7A 61 00

Starcraft.exe 03/28/03 04:21:56 1064960Robert A. Paveza
[/code]

This is what I'm sending with 0x51.

Glad to see bnetdocs is online =) I'll see if I can get some more info there. Thanks for the help!

--Rob

[Edit: removed cdkey information; in the future, you really ought to do this yourself if you care about your key. Also deleted the ASCII representation of the binary portion of the dump.]
September 27, 2003, 8:18 PM
Myndfyr
Got that fixed (there was an extra NULL terminator in there), but now I'm getting the invalid version error code from the 0x51 reply. I'm using BNLS, so I am not sure about what the problem could be. Any ideas?
September 27, 2003, 8:37 PM
Arta
Got the correct version byte? Are you putting the informatiuon from BNLS into the packet correctly?
September 27, 2003, 8:57 PM

Search