BNLS and NLS Packet Data
For those who are unexperienced with the Battle.net/BNLS protocols, you have probably seen something similar to:
(DWORD)  Data for SID_AUTH_ACCOUNTCREATE
These two packets do go hand and hand, but the data may be misleading to those who are not as bright to figure this part out.
The 16 DWORD values to be sent with SID_AUTH_ACCOUNTCREATE (using these packets as the example) are only the Salt and Verifier values. The Salt is 32 bytes, or 32/4=8 DWORDs. The Verifier is 32 bytes also. This means you have 8+8=16 DWORDs inside of this BNLS packet.
The 16 DWORDs equal out to 64 bytes, which if you divide that by half, you get your Salt and Verifier.
You could, if you wanted, supply the data from the BNLS packet directly to the SID packet without parsing it, and then of course attaching a username (and a packet header). That is not a problem at all and actually may be more convenient in some cases.
The point I am trying to get across is data such as the 16 DWORDs may actually be individual values meant for another packet. BNLS can be misleading if you do not know what you are doing or what a packet is made for.
When in doubt, here is a list of packets and what they are meant for (not complete):
BNLS_CDKEY / BNLS_CDKEY_EX
- This hashes any CD-Key, or CD-Keys, depending on which packet you use. Most people use the *_EX version, if using either at all.
BNLS_LOGONCHALLENGE / BNLS_LOGONPROOF / BNLS_CREATEACCOUNT / BNLS_CHANGECHALLENGE / BNLS_CHANGEPROOF / BNLS_UPGRADECHALLENGE / BNLS_UPGRADEPROOF
- These are to be used for and only for the NLS (the SID_AUTH* system). If you attempt, for example, to use this on SID_LOGONCHALLENGE (the OLS), you will fail miserably.
- This is used for hashing data for the Old Logon System (the "OLS"), and may not be used for the New Logon System (the "NLS"). You use this when you are using, for example, SID_LOGONCHALLENGE.
BNLS_VERSIONCHECK / *EX / *EX2
- Checks your game version and hash (not your bot) and will reply with the proper data for either the OLS or NLS. The VerByte you choose also plays a part in this. Use BNLS_REQUESTVERSIONBYTE to retrieve the VerByte **BEFORE** checking versions.
Site scripts and design copyrights reserved to Don Cullen.
Contents copyrighted to Blizzard and their parent corporation, Vivendi.
Main credits for contents goes to Arta. View the rest of credits.
Demented Minds copyrights reserved to Don Cullen 2003-present.
Copyright infringements will be prosecuted to the fullest extent allowable by law.
Please view our legal disclaimer and terms of service.