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

AuthorMessageTime
Dro
Solved.

https://davnit.net/bnet/vL/phpbbs/index.php?topic=11267.0
April 12, 2005, 6:24 PM
UserLoser.
BYTE[20] - M1
BYTE[32] - S
BYTE[32] - V

See this page for more info
April 12, 2005, 7:13 PM
Dro
Solved.
April 12, 2005, 7:17 PM
Myndfyr
[quote author=Dro link=topic=11250.msg108362#msg108362 date=1113333454]
[quote author=UserLoser link=topic=11250.msg108360#msg108360 date=1113333207]
BYTE[20] - M1
BYTE[32] - S
BYTE[32] - V

See this page for more info
[/quote]

What is M1, S, V?
What variables are those and how do they relate to the account password and such?
[/quote]

UserLoser pointed you to that page for a reason.  Battle.net uses the SRP (Secure Remote Password) exchange for user authentication, which includes account creation and password change.

M1 is a calculated hash of several components.  It's the client password proof, calculated via the following formula:
M1 = SHA1(SHA1(g) xor SHA1(N), SHA1(Username), s, A, B, K)
Note that SHA1 is that standard SHA-1 hashing function, not the "broken" implementation found in other Blizzard clients.
S is the "secret" value.  Essentially, both sides calculate it independently, with different values, and are supposed to come up with the same result.  This is how they know they have a valid exchange mechanism.  It is calculated for the client with the formula:
S = ((N + B - v) % N)[sup](a + u * x)[/sup] % N
V is the password verifier, calculated with:
v = g[sup]x[/sup] % N

All of this information can be found on BnetDocs.  If you're using BNLS, it supports calculating the values for these messages.  See the BNLS Protocol Specification for more information.

Additionally, iago[vL] has documented the SRP key exchange used with Battle.net, and it should prove to be an invaluable reference.

Next time, please read information on the "see also" or "see for more information" pages that we link to instead of just asking for information found on those pages.  It will make us that much more inclined to help you.
April 12, 2005, 7:49 PM
iago
[quote author=MyndFyre link=topic=11250.msg108365#msg108365 date=1113335385]
Additionally, iago[vL] has documented the SRP key exchange used with Battle.net, and it should prove to be an invaluable reference.
[/quote]

That'll give you everything you need to know including packet structures, formulas, and code samples (in Java, but easily ported to .net or C).
April 12, 2005, 7:56 PM
Dro
Solved.
April 13, 2005, 5:34 AM
iago
[quote author=Dro link=topic=11250.msg108429#msg108429 date=1113370474]
SID_AUTH_ACCOUNTCHANGE = BNCS packet 0x55 ?
SID_AUTH_ACCOUNTCHANGEPROOF = BNCS packet 0x56 ?
[/quote]

[C>0x55] SID_AUTH_ACCOUNTCHANGE
[S>0x55] SID_AUTH_ACCOUNTCHANGE
[C>0x56] SID_AUTH_ACCOUNTCHANGEPROOF
[S>0x56] SID_AUTH_ACCOUNTCHANGEPROOF

Yep.  Sorry, I forgot that Arta hasn't added that to BNetDocs yet. 
April 13, 2005, 8:26 AM

Search