Hi. I develop my battle.net bot on J2ME.
Because I cant use Local Hashing, i use BNLS.
BNLS -> Send bnls_logonChallenge (0x02)
17 00 02 43 4c 41 4e 5b 59 45 41 48 5d 42 4f 54 ...CLAN[YEAH]BOT
33 00 -- -- -- -- 00 3.----.
Length: 23
BNLS -> reseived (first 3 bytes was removed)
19 a0 fe 33 9e a4 ac e4 89 22 7f 4a 15 d4 29 99 ...3....."J..).
e7 7f 88 28 ed f4 a9 73 3c 13 82 b2 bd dd 4b 16 ..(...s<.....K.
Length: 32
Bnet -> Send SID_AUTH_ACCOUNTLOGON
ff 53 33 00 19 a0 fe 33 9e a4 ac e4 89 22 7f 4a .S3....3....."J
15 d4 29 99 e7 7f 88 28 ed f4 a9 73 3c 13 82 b2 ..)...(...s<...
bd dd 4b 16 43 4c 41 4e 5b 59 45 41 48 5d 42 4f ..K.CLAN[YEAH]BO
54 33 00 T3.
Length: 51
Reseived: SID_AUTH_ACCOUNTLOGON (first 4 bytes was removed)
00 00 00 00 b7 2d 4b 5f f5 59 0e 3a 8a 10 bd 51 .....-K_.Y.:...Q
25 b1 1f b7 14 cf ff d6 06 93 b4 14 02 3d 44 01 %............=D.
3d 17 a2 4c d8 64 4a 60 c5 1b 50 76 42 2b 6c 81 =..L.dJ`..PvB+l.
f7 19 dd 48 6a ca 9a c1 51 39 22 c7 ab 7f f6 5a ...Hj...Q9"...Z
02 c3 8a 5d ...]
Length: 68
SID_AUTH_ACCOUNTLOGON OK!
BNLS -> Send logonProof (0x02)
43 00 03 b7 2d 4b 5f f5 59 0e 3a 8a 10 bd 51 25 C...-K_.Y.:...Q%
b1 1f b7 14 cf ff d6 06 93 b4 14 02 3d 44 01 3d ............=D.=
17 a2 4c d8 64 4a 60 c5 1b 50 76 42 2b 6c 81 f7 ..L.dJ`..PvB+l..
19 dd 48 6a ca 9a c1 51 39 22 c7 ab 7f f6 5a 02 ..Hj...Q9"...Z.
c3 8a 5d ..]
Length: 67
BNLS -> reseived (first 3 bytes was removed)
42 8d f2 bf 76 a0 76 4d c6 9c b3 fd 13 c1 a6 f0 B...v.vM........
81 f6 1d 32 ...2
Length: 20
Bnet -> Send SID_AUTH_ACCOUNTLOGONPROOF
ff 54 18 00 42 8d f2 bf 76 a0 76 4d c6 9c b3 fd .T..B...v.vM....
13 c1 a6 f0 81 f6 1d 32 .......2
Length: 24
Reseived: SID_AUTH_ACCOUNTLOGONPROOF (first 4 bytes was removed)
02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 ........
Length: 24
02 code - incorrect password.
Why???
Password was correct.
What i do incorrectly???
Quote from: Flexx_rus on April 03, 2006, 09:17 AM
Hi. I develop my battle.net bot on J2ME.
Because I cant use Local Hashing, i use BNLS.
Well I'd like to clear up, you can *definitely* use local hashing with Java, at the very least password hashing, and you don't need very many additional classes. As long as the J2ME API edition you have supports SHA-1 hashing and BigInteger math, it's easy to do. See iago's (http://www.javaop.com/~iago/SRP.html) overview on the topic with example Java code.
Beyond that, your work seems right, and this is picky but in the future please don't remove packet headers. It's easier to make sure we're talking about the same thing when everything is consistent. Oh, and please don't post your password in packet captures -- I'm editing yours out.
You're probably not sending BNLS_CHOOSENLSREVISION like you should, like 99% of other people who claim to have this problem
Quote from: UserLoser on April 03, 2006, 04:32 PM
You're probably not sending BNLS_CHOOSENLSREVISION like you should, like 99% of other people who claim to have this problem
According to the BNLS protocol spec, it's supposed to be defaulting to the correct one, isn't it? We don't use NLS for old clients.
Quote from: MyndFyre[vL] on April 03, 2006, 04:35 PM
Quote from: UserLoser on April 03, 2006, 04:32 PM
You're probably not sending BNLS_CHOOSENLSREVISION like you should, like 99% of other people who claim to have this problem
According to the BNLS protocol spec, it's supposed to be defaulting to the correct one, isn't it? We don't use NLS for old clients.
No, it doesn't default to the one needed for Warcraft III. 1 was for War3Beta, 2 is for Warcraft III, 0 is for everything else. IIRC, BNLS was written when War3 was still in beta, so that may be why it's defaulted to 1, however I may be wrong about that (about it being written in beta).
Quote from: UserLoser on April 03, 2006, 04:37 PM
No, it doesn't default to the one needed for Warcraft III. 1 was for War3Beta, 2 is for Warcraft III, 0 is for everything else. IIRC, BNLS was written when War3 was still in beta, so that may be why it's defaulted to 1, however I may be wrong about that (about it being written in beta).
That's another one of those Otherworldly Things that I like to refer to I guess. It makes sense to default to whatever is being predominantly used, at least in my mind. *shrug*
Quote from: UserLoser on April 03, 2006, 04:37 PMIIRC, BNLS was written when War3 was still in beta
Skywing says:
use BNLS
Skywing says:
BNLS is the best thing ever
Spht says:
what's BNLS?
Skywing says:
battle.net logon server
Skywing says:
super neat2002-Apr-13... four years from yesterday!
Anyway, that was when beta was going on.