Valhalla Legends Forums Archive | Battle.net Bot Development | Windows Registry: Battle.net

AuthorMessageTime
soccerist
Does anyone happen to have any references to the keys, values and value data fields that Starcraft uses in the Windows System Registry?

I'm writing an app that will auto-populate some of the fields' default values in Starcraft with custom settings of my own.  Specifically, the one I've been trying to find is the key/value for the default "Game name" field when the user clicks on the Join button, to join a game. 

I remember using a program someone made a few years ago (4 or 5 years ago?) that would auto-populate that field with custom values, but I no longer remember or have any references to it.  I would have thought it was manipulations of registry settings and surely not manual event/key injections.

My original guess (which is incorrect) was:
My Computer\HKEY_CURRENT_USER\Software\Battle.net\Recent Games\

Thanks for any help!

June 27, 2005, 5:54 AM
laurion
HKEY_CURRENT_USER\Software\Blizzard Entertainment\Starcraft\Last Created Game Name
June 27, 2005, 4:08 PM
soccerist
[quote author=Tazo link=topic=11987.msg117741#msg117741 date=1119888498]
HKEY_CURRENT_USER\Software\Blizzard Entertainment\Starcraft\Last Created Game Name
[/quote]

No, that's the one for when you click 'Create' to create a game.  I'm looking for the one that shows up when you click 'Join'.
June 27, 2005, 10:35 PM
Myndfyr
Get Regmon from Sysinternals and see what's done there.
June 27, 2005, 10:38 PM
soccerist
[quote author=MyndFyre link=topic=11987.msg117803#msg117803 date=1119911938]
Get Regmon from Sysinternals and see what's done there.
[/quote]
Wow, thanks.  That program is amazing!

Well folks, I have solved my problem!  Valhalla Legends comes to the rescue once again.  ;D  It turns out that I was looking in the correct spot... sort of.  Here's what I've learned:

The recently-joined-game Windows Registry field:

Key:  HKEY_CURRENT_USER\Software\Battle.net\Recent Games\
Value:  A 16-character string  (see note below***)
Value-data:  The recently joined game as a unicode string.

***Now, the value field stumped me for a second, but then I realized what it was.  If you divide the string into substrings of 2 characters each, and take each of those two characters to represent a hexidecimal byte, it all becomes clear.  The first 4 bytes are the product ID (SEXP, STAR, etc.) and the next 4 is the byte-code for the product.

Why it didnt' work when I was doing my tests is because I was modifying the right Key, wrong Value's value-data.  I have a SEXP entry with 0xcb, a SEXP entry with 0xc9, and a STAR entry with 0xc9.  That means that I have registry entries stored for Starcraft (no expansion), Broodwar (logged in as regular starcraft), and Broodwar (logged in as broodwar). 

Hope this is enlightening to someone else that is trying to do what I'm doing!


---

Finally, unrelated:

Does [vL] have an area where forum members may upload or post links to their released projects (bots, apps) for others to use/try? 

I wouldn't mind releasing code for my Battle.net bot, chat client, and this new GUI app that I'm making.  I'd like to see it useful to others.


June 28, 2005, 6:09 AM
soccerist
Actually, I believe I'm wrong about the 0xcb vs 0xc9 thing.  0xc9 was the byte version used in an older version of sc/bw?  It looks like it's only writing to values ending in 0xcb now...

I think I remember having to deal with this when I wrote my bot.  Bnet changed it from 0xcb to 0xc9 and then back to 0xcb.  Can someone clarify this?
June 28, 2005, 6:53 AM
UserLoser.
[quote author=soccerist link=topic=11987.msg117862#msg117862 date=1119941608]
Actually, I believe I'm wrong about the 0xcb vs 0xc9 thing.  0xc9 was the byte version used in an older version of sc/bw?  It looks like it's only writing to values ending in 0xcb now...

I think I remember having to deal with this when I wrote my bot.  Bnet changed it from 0xcb to 0xc9 and then back to 0xcb.  Can someone clarify this?
[/quote]

Pretty sure it never decreased in value at any time.
June 28, 2005, 7:13 AM
Spilled[DW]
Agreed, the value never changed back and forth -.-
June 28, 2005, 3:45 PM
Kp
[quote author=soccerist link=topic=11987.msg117862#msg117862 date=1119941608]
Actually, I believe I'm wrong about the 0xcb vs 0xc9 thing.  0xc9 was the byte version used in an older version of sc/bw?  It looks like it's only writing to values ending in 0xcb now...

I think I remember having to deal with this when I wrote my bot.  Bnet changed it from 0xcb to 0xc9 and then back to 0xcb.  Can someone clarify this?
[/quote]

I believe the name is composed of product ID + magic version, so every time you go to a new patch, you go also to a new value name.

As for uploads: no, we don't have any place in particular because not enough people do it.  Afaik, there's no policy forbidding posting it (assuming you don't go spamming it in every forum, of course ;)).
June 28, 2005, 11:21 PM
soccerist
Well, here's my app.  It's called BnetSpy.  Let me know what you think.

The project website is:
http://contour.homeip.net:8000/bnetspy/



Note:  Using port 8000 because my ISP is gay and blocks port 80.
June 30, 2005, 7:44 AM
Quarantine
Not bad, seems pretty handy.
June 30, 2005, 7:45 AM
soccerist
[quote author=Warrior link=topic=11987.msg118177#msg118177 date=1120117540]
Not bad, seems pretty handy.
[/quote]

Thanks Warrior.  :)


Ah, too bad I don't know how to track download counts with Apache...
July 1, 2005, 12:38 AM
Kp
[quote author=soccerist link=topic=11987.msg118275#msg118275 date=1120178331]
Ah, too bad I don't know how to track download counts with Apache...[/quote]

If you have access to the server logs (assuming it's writing them!), you could grep for the URL of the package(s).  It's inelegant, but it works. :)
July 1, 2005, 1:13 AM

Search