The current battle.net wrapper code can be found at http://github.com/kow/Starcraft-2-Battle.Net-Wrapper
Communication with battle.net.dll occurs through the debugger created by battle.net.dll. When the main SC2 process cause an exception by reading from the memory location 0xFFFFFFFE a command is called in battle.net.dll. The minimum requirement for such a call to be made is that SC2 can establish a connection to a battle.net server, either bnetd on localhost or battle.net.
Full authorisation client by Ralek and kynox written in C# utilising a C++ AuthModule interface [http://filebeam.com/f81c1f89a3bbc2ae1d053c1b6baee5bb]
How to use
Packet dumps
Packet dumps of successful logins will not be posted until modified to remove uniquely identifying content & account PW changed.
These are currently identified crypto signatures in the recent partial dump of the dll (CRC32 F9BFF9FE):
See the main article Current Drafts of bnet2 protocol
When Connect is pressed a 52 bytes + username in plain text message is sent to TCP port 1119. This leads to these calls to the battle.net wrapper:
It's not currently known how to pick up this communication from the battle.net wrapper.
The maplist for Create Custom Game is generated after a login to battle.net. Even a user that has logged in before, and logs in as guest, gets no maps in the map list. It's currently unclear how the maplist is read in sc2.exe and in the Flash/GFx menus so there has been no progress on listing maps in the offline mode.