BNETDocs: Redux is no longer updated, this subdomain exists for archival purposes only. Visit the main site.

Navigation

Generate Code: All packets
Packets

BNLS Checksum Algorithm


The BNLS checksum algorithm calculates the checksum of a password using the 32-bit server code received in BNLS_AUTHORIZE (0x0e).

You should create the BNLS checksum as follows:

  • Create an ANSI string whose length is the length of the password + 8 characters.
  • Copy the password to the beginning. (Note that the password is case sensitive.)
  • In the last 8 characters, store the hexadecimal representation of the server code, in uppercase, padded with zeroes on the left.
  • Calculate the standard CRC-32 checksum (using the standard polynomial 0xEDB88320) of the string.
The result is the BNLS checksum, to be sent in BNLS_AUTHORIZEPROOF (0x0f).

Source code for this procedure is available in VB6, C++ and C#. These links are old and no longer exist.
Jailout2000 has provided pastebin links to REALbasic code converted from Tagban's Invigoration bot:
In the sample code, the checksum for BNLS_AUTHORIZEPROOF (0x0f) is the return value of BNLSChecksum(AuthPassword, ServerCode), where ServerCode is the value from BNLS_AUTHORIZE (0x0e).

These sample checksums can be used to check the correctness of your code:
BNLSChecksum("Sample", 0x0123ABCD) == 0x12FDED88
BNLSChecksum("Checksums", 0xBAADF00D) == 0x0098F911

User Comments


For detailed questions and discussion, visit the Battle.net Research Forum

Kyro
Aug 02, 2011
03:24 AM

Suggestion: in the future, move any referenced data to BNETDocs. This way we don't have to worry about broken links. Make sure to place the referenced data in a text file and pop it in the archives directory. For example, look at this:

http://www.bnetdocs.org/?op=doc&did=12

You can see DevCode and HDX's code was stored on BNETDocs and archived for reference purposes-- no worrying about broken links. =)

So-- yea, move the realbasic code from pastebin to a locally stored file in archives and update links.

Jailout2000
Aug 05, 2011
11:53 PM

I have the pastebin links I post set to never expire, and they're tied to my pastebin account.

I can, at my own will, edit or delete them, without having to make a new pastebin link.

Plus pastebin provides a neat syntax highlighting for 100s of languages :)

Kyro
Aug 06, 2011
04:20 AM

Make backups of the files then and pop the backup in bnetdocs archives. Would suck if pastebin went down and your precious code went buh-bye, now wouldn't it? ;)

Jailout2000
Aug 12, 2011
05:46 AM

I have my precious code on my hard drive in REALbasic project files. If pastebin goes down, I can just re-upload it. I never delete good code.

ALERT
We recommend you use Firefox to view this site. This site has been optimized for Firefox.

Get Firefox
BNLS Server Status
bnls.bnetdocs.org:
bnls.net:
bnls.mattkv.net:
phix.no-ip.org:
pyro.no-ip.biz:
bnls.war-lords.net:
bnls.anubisdev.net:
knight.mattkv.net:

= Online       = Offline

Battle.net Server Status

Battle.net v1

uswest.battle.net:
exodus.battle.net:
useast.battle.net:
asia.battle.net:
europe.battle.net:
ustest.battle.net:
beta.battle.net:
classicbeta.battle.net:
demo.war3.battle.net:

Battle.net v2

us.logon.battle.net:
eu.logon.battle.net:
kr.logon.battle.net:
cn.logon.battle.net:
us.patch.battle.net:
eu.patch.battle.net:
kr.patch.battle.net:
cn.patch.battle.net:
public-test.logon.battle.net:
public-test.patch.battle.net:

emNet

cali.emwar.com:
dallas.emwar.com:
kc.emwar.com:
ny.emwar.com:

PvPGN

server.eurobattle.net:
rubattle.net:
sc.theabyss.ru:
wc3.theabyss.ru:
bnetd.fishbattle.net:

RBNETD

server.bnetdocs.org:

= Online       = Offline



Copyrights

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.