[This is preliminary documentation and is subject to change.]
VERY IMPORTANT! If you do not intend to use BN# as a development platform, it is recommended that you use the standard MBNCSUtil library instead of BNSharp.dll. The version of MBNCSUtil included with BN# is optimized to work with the BN# library and contains dependencies that cannot be handled if you do not work with the BN# API.
The BNSharp.MBNCSUtil namespace provides managed types for the implementation of Battle.net logon authorization as well as a number of other utilities to support Battle.net development.
This library should run on an x86- or x64-based Windows system. MBNCSUtil now includes Windows-specific API calls for the MPQ file handling (MBNCSUtil.Data) and Lockdown CheckRevision calls. Other code should function normally on systems with the Common Language Infrastructure.
This code was originally based upon Eric Naseth's (shadypalm88's) BNCSUtil 1.0.4, Ron Bowes' (iago's) various implementations in Java and C, and Robert ONeal's, from whose code most of the Lockdown implementation was based. However, most code is original C#, unless otherwise noted, by Robert Paveza (MyndFyre).
This library is licensed under a modified version of the BSD license as of version 1.2.0.4. This license supercedes previous licenses of this library for versions 1.2.0.4 and newer. Older libraries will continue to be licensed under their old license or, optionally, the new BSD license. For more information, consult the LICENSE.TXT file that should have accompanied this file.
This library includes binary code under license from Ladislave Zezula. Separation of this library from the binary code is not permitted, nor is distribution of the binary. Please obtain your own license for StormLib by downloading it from www.zezula.net.
Versioning Information
MBNCSUtil v2.0 is a relatively major departure from previous versions. COM support is no longer included, and the library is offered only for .NET 2.0. Furthermore, assemblies are versioned for a specific processor architecture. If your application is going to support both x86 and x64, it is highly recommended that you include MBNCSUtil as a project within your project solution, add it as a reference to your project, and ensure that you have x86 and x64 builds. For more information on how to do this, consult the Visual Studio documentation.
Changelog
| Version | Changes |
|---|---|
| Planned (Future) Updates |
|
|
2.0.5.18 Final [documentation] [code] Binaries: x86 Debug x86 Release x64 Debug x64 Release Current SVN Revision: 21 |
|
|
2.0.4.17 BETA 2 [documentation] [code] Binaries: x86 Debug x86 Release x64 Debug x64 Release Current SVN Revision: 15 |
|
|
2.0.3.16 BETA 1 Service Release [documentation] [code] Binaries: x86 Debug x86 Release x64 Debug x64 Release Current SVN Revision: 9 |
|
|
2.0.3.15 BETA 1 [documentation]
[code]
Binaries: x86 Debug x86 Release x64 Debug x64 Release |
|
Classes
| Class | Description | |
|---|---|---|
| BncsPacket |
Completes a DataBuffer implementation with the additional
data used by the BNCS protocol.
| |
| BncsReader |
Completes a DataBuffer implementation with the additional
data used by the BNCS protocol.
| |
| CdKey |
Provides utilities for decoding and otherwise validating
CD keys of Blizzard products. This class cannot be inherited.
| |
| CheckRevision |
Encompasses any revision check functionality for all Battle.net games.
This class cannot be inherited.
| |
| DataBuffer |
Operates as a data buffer for network and file output.
| |
| DataFormatter |
Provides functions for printing bytes to various output devices. This class cannot
be inherited.
| |
| DataReader |
Operates as a buffered data reader for network and file input.
| |
| NLS |
Supports the New Logon System's SRP (Secure Remote Password)
authentication system as well as Warcraft III server
signature validation. This class cannot be inherited.
| |
| OldAuth |
Calculates hash values for data using the old login-system
checks.
| |
| WardenEncryptionContext |
Handles the encryption and decryption of Warden modules for a given connection.
| |
| XSha1 |
Provides an implementation of Battle.net's "broken" (nonstandard) SHA-1
implementation. This class cannot be inherited.
|