• Welcome to Valhalla Legends Archive.
 

BNCS 0x3B?

Started by brew, February 16, 2008, 08:39 AM

Previous topic - Next topic

brew

I've never seen it on bnet, but i do see it being parsed at 1902D160 of battle.snp...
it appears to have a structure of:

(FILETIME) Filetime of patch?
(STRING) Name of patch?

The name is copied to a global char array.
After that, InitalizeDownloader is called, with the filetime and the name being passed to it.
also the fastcall params are:
ecx == 80000001h <--the BNFTP file request id (note on bnetdocs we only have 80000004 and 80000005)
edx == 3 <--- download type? maybe?

Since right after that call, the string "requesting latest version" passed to NotifyMsg, it's safe to name this packet SID_UPDATEREQ. or something.
Does anyone know more about it?

EDIT** i am assuming this was only for legacy (pre-xsha1 style) logons, since the same functionality can be achieved by parsing the extra info string in the 0x51 response, and an 0x33 request.
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

MyndFyre

So you're trying to name a packet, but you don't have... a packet?

You don't have a packet ID.
You don't have an observed packet dump of this happening.
Basically, all you do have is either a struct or a parameter list.

I mean, what are we supposed to name?
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

brew

#2
Quote from: MyndFyre[vL] on February 16, 2008, 01:49 PM
I mean, what are we supposed to name?

We are supposed to name the aforementioned (probably defunct) packet that this topic is about. Obviously there is a packet... otherwise there would be no reason to parse it. I mean, where is the data that is parsed by this supposed to be coming from, pixie dust? People have most likely seen it before, but just was ignored. It's still nice to know about, am i right? The structure and purpose of this packet is quite obvious if you've looked at the code (and read my explanation). I've also observed the exact opposite-- the 0x4E packet is sent, but starcraft never parses it. Would you prefer to name a packet like that instead? It's much harder to document that than it is to document this.
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

Kp

The existence of parsing code doesn't necessarily mean it was ever used.  Some of the legacy clients have support for NLS, but it has never been activated.  I suggest leaving this as "legacy / not used" and move on to more interesting messages that're still in use.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!