Archive

Archive for December, 2004

Already Activated. NOT!

December 9th, 2004 admin No comments

The following Windows Annoyance was sent by a guest user on Thu, 09 Dec 2004 05:01:53 GMT:

I’m posting this here so that it will be available by a Google search. I browsed at least a hundred web pages and saw hundreds of others that
had the same problem; XP constantly claimin it needed to be activated, but then claiming it was already activated when you ran the activation
program.  Meanwhile, the days were counting down.

I recently had occasion to install Windows XP from scratch using a legal first edition CD.  I installed it, activated it and ran Windows
update repeatedly until I had all the updates through SP1.  I didn’t notice when exactly it happened, but at some point XP started telling
me I needed to activate the software.  When I clicked on the activate icon, it would come back with a screen telling me it was already
activated.  Everything I read about this problem on the net ended up with the final solution being to call Microsoft.  MS itself did not
have anything on this in their knowledge base.  Since this was a scratch install from a legal CD, there was no possibility I was using
pirated software or that a virus had crept in.  It had to be some sort of corruption.  I ran the activation program,
%systemroot%\system32\oobe\msoobe.exe /a, repeatedly trying the following, singly or in combination, before each run:

Removed the %systemroot%\system32\wpa.dbl file  (the keys file.  There  was no wpa.bak)
Changed the OOBETimer value in the registry.
Copied a wpa.dbl file from another system.  I figured that would at least upset it.

None of these helped.  In the end, after running msoobe.exe, the wpa.dbl file had been rewritten and was about 2K in size.  I expected
it to be about 13K based on another SP1 system I have.  In frustration, I downloaded a hacker tool that would discover the product key and
allow you to update it.  First, the key it discovered was nowhere near my actual key.  Second, it simply would not update the key.  Finally, I
started digging through the files in the oobe directory and figured out how to fix the problem.

The activation process, msoobe, in the oobe directory uses quite a few HTML files with VBScript.  One of the scripts, probably the main one,
is named actshell.htm.  At around line 3598 is a function named InitApplication().  In this function, a call is made to an object
function, window.external.NeedActivation() , that determines the state of activation.  It runs a sequence of if tests on the return value that
basically go like this:

if (g_Already_Activated == 0) then display the already activated
message
else
if (g_Already_Activated == 999) then call a Finish() function #
Probably says you’re screwed
else
run activation.

I changed the first if test to ‘== 1′ and ran msoobe.  The real activation window came up and I was able to activate the product over
the net.  When it was done, the wpa.dbl file was about 13K and there was a wpa.bak file.  Everything was in order and the problem was
resolved.  I don’t know how relevant the size of the wpa.dbl file is because I have an SP2 system with a 2K file.  Perhaps SP2 resets it.

After figuring this out, I searched the net for ‘NeedActivation’ and got 0 hits.  Apparantly no one has ever figured this out, hence this
posting.  I hope it saves someone the three days of grief I went through.

By the way, the hacker tool now shows the correct product key.

Categories: Windows Annoyances Tags: