Hacking Xfire

by Akurei

I'm not much of a writer, so please forgive.

Recently, I was pissed-off when I found Xfire wouldn't record the time I was spending building Neverwinter Nights 2 (NWN2) modules via the toolset.  But it was more than happy to record the time from the game.  So I went about tweaking this, and in the process found some fun things you can do.

Everything listed here is very benign and far more a mod than any real hack.  Though I'm sure, given the proper exploitation, you could piss off Xfire quite a bit.

Upon browsing to your Xfire directory you will find a file called "xfire_games.ini".  This holds all the game data/tracking info the client calls upon to track your game-play use.  However, the client makes no attempt to match your client INI with their server-side INI unless a client update/patch changes them.  This, of course, leaves us a big window to modify this all we want.

First, let's see how to add those trackers for the NWN 1 or 2 toolsets.  Developers do deserve credit, don't they?

Open xfire_games.ini with any standard text editor.  It doesn't need to be anything fancy.  And there's no encryption on this either, so it's plain as day to read/understand.

For Neverwinter 1 do a search for "Neverwinter" and you should see the following:

LongName=Neverwinter Nights
ShortName=nwn LauncherDirKey=HKEY_LOCAL_MACHINE\SOFTWARE\BioWare\NWN\Neverwinter\Location

Below that line, you would add the following:

DetectExe=nwtoolset.exe

Save and you're done.  It goes without saying you shouldn't do this with Xfire running.  It wouldn't cause any problems.  You'd just have to client restart for the new INI to take effect.

For Neverwinter 2, follow the same steps listed above (except keep searching past NWN1 until is says "Neverwinter 2").  This time you should see the following code:

DetectExe[0]=nwn2main.exe
DetectExe[1]=nwn2main_amdxp.exe

In this case, you would add the following:

DetectExe[2]=nwn2toolsetlauncher.exe

Save again and you'll be set.  Just remember that when the client is updated/patched the INI is not always changed.  But you should check each time as it likely will have been.  There are multiple workarounds for this system as well, but that's another article.

If you've been paying attention, or have even the slightest of nefarious minds, you can see how this system is very open to exploitation.  Any system process could be slapped into the INI for detect, to create a false result on any game of your choice.