Valhalla Legends Forums Archive | Battle.net Bot Development | Checksum, Version, Exeinfo and Version Byte

AuthorMessageTime
Freeware
I am implementing a system into my bot, where on the first run (per product) it uses BNLS, and then stores the Checksum, Version, Exeinfo and Versionbyte to an ini file. For future runs, it uses that written data to connect. Once it gets an 'invalid verison' or 'version needs updating' from Battle.Net, it then uses BNLS again. Is the Checksum, Version, Exeinfo and VersionByte constant? (by constant I mean not changing unless a new patch is released)
November 8, 2003, 11:29 PM
Myndfyr
[quote author=Freeware link=board=17;threadid=3490;start=0#msg28187 date=1068334171]
I am implementing a system into my bot, where on the first run (per product) it uses BNLS, and then stores the Checksum, Version, Exeinfo and Versionbyte to an ini file. For future runs, it uses that written data to connect. Once it gets an 'invalid verison' or 'version needs updating' from Battle.Net, it then uses BNLS again. Is the Checksum, Version, Exeinfo and VersionByte constant? (by constant I mean not changing unless a new patch is released)
[/quote]

This is something you could check by doing several packetlogs. I do not believe that the Checksum is, but the version, exeinfo, and version byte (IIRC) stay the same for each version.
November 8, 2003, 11:40 PM
Freeware
[quote author=Myndfyre link=board=17;threadid=3490;start=0#msg28190 date=1068334813]
[quote author=Freeware link=board=17;threadid=3490;start=0#msg28187 date=1068334171]
I am implementing a system into my bot, where on the first run (per product) it uses BNLS, and then stores the Checksum, Version, Exeinfo and Versionbyte to an ini file. For future runs, it uses that written data to connect. Once it gets an 'invalid verison' or 'version needs updating' from Battle.Net, it then uses BNLS again. Is the Checksum, Version, Exeinfo and VersionByte constant? (by constant I mean not changing unless a new patch is released)
[/quote]

This is something you could check by doing several packetlogs. I do not believe that the Checksum is, but the version, exeinfo, and version byte (IIRC) stay the same for each version.
[/quote]

Is their any way to get ONLY the checksum perhaps using Bnetauth.dll?
November 8, 2003, 11:42 PM
iago
No, it's not at all constant. The Exeinfo will stay the same, and the version byte will stay the same, but the checksum, etc will change almost every time.

Also, the way you're doing it takes a risk of getting banned for too many failed attempts to log on, so I wouldn't recommend doing this.
November 8, 2003, 11:49 PM
Skywing
[quote author=Freeware link=board=17;threadid=3490;start=0#msg28187 date=1068334171]
I am implementing a system into my bot, where on the first run (per product) it uses BNLS, and then stores the Checksum, Version, Exeinfo and Versionbyte to an ini file. For future runs, it uses that written data to connect. Once it gets an 'invalid verison' or 'version needs updating' from Battle.Net, it then uses BNLS again. Is the Checksum, Version, Exeinfo and VersionByte constant? (by constant I mean not changing unless a new patch is released)
[/quote]
The server maintains a cache of version check formulae and results - say, 10 or so, per product. These rotate every couple minutes, IIRC (that is, new formulae and results are generated).

A better idea is to cache the formula used and the results, and defer to the cached copy if the formula is the same. BNLS internally implements something like this to speed up version checking a bit, albeit with a much larger cache due to the number of Battle.net servers.

Note that due to how fast the version check values change, it's probably not worth committing them to disk. Simply saving them in memory should be sufficient given their short lifetimes.
November 9, 2003, 12:09 AM

Search