Slashdot Mirror


Deciphering Windows Product Activation

Stephen Lau writes: "Fully Licensed GmbH seems to have deciphered and analyzed the WPA code that Microsoft plans to use to protect from privacy in future products. They've got source and executables up on their site..." As well as an interesting paper which purports to describe the activation process but does not provide details on how these guys reverse-engineered it.

21 of 339 comments (clear)

  1. let them try by RelliK · · Score: 5

    You are assuming that MS would actually be able to successfully prosecute these guys for reverse engineering. Here's a newsflash: reverse engineering is legal. Europe has neither DMCA nor UCITA. The world is bigger than US.
    ___

    --
    ___
    If you think big enough, you'll never have to do it.
  2. Caller ID? by BroadbandBradley · · Score: 4

    Registration by phone line, you'd think most people are/will be still stuck doing this.
    Caller ID, plus a reverse phone number lookup and what more do you need to know?
    Can a MAC adress be linked to your IP by going to a site or server (windows update active X controls?)?
    Lookup a name and get a street adress, use public records to see who owns the home and it's value. you know they'll get the IP and know all about the computer, partner with doubleclick(or whoever) for tracking surfing habits..


    it's not the information that's transmitted, it's what they can do to link it to you

    who owns your data?

  3. Re:No identifiable information by number+one+duck · · Score: 4

    What is the phone number? If all they want is someone to read off 32 digits to them, I'm more than happy to play from time to time.

  4. Windows XP connection logs by hammock · · Score: 4

    Here is an account of what network connections Windows XP RC1 make when it is installing itself.
    It does all this without prompting the user.
    The box was isolated at 192.168.1.3 and had ALL outgoing traffic denied and logged, these are the highlights.

    device eth0 entered promiscuous mode
    device eth1 entered promiscuous mode

    Packet log: input DENY eth1 PROTO=17 192.168.1.3:123 207.46.228.33:123 L=76 S=0x00 I=5 F=0x0000 T=128 (#5)
    time.windows.com (207.46.228.33)
    This one is rather obvious, it sets the operating system clock, but don't try using netdate on it, it's proprietary to Windows only (whoops!)

    Packet log: input DENY eth1 PROTO=6 192.168.1.3:1027 207.46.197.100:80 L=48 S=0x00 I=88 F=0x4000 T=128 SYN (#5)
    (microsoft.com, www.domestic.microsoft.com, and microsoft.net address pool)

    Packet log: input DENY eth1 PROTO=6 192.168.1.3:1043 207.46.227.40:80 L=48 S=0x00 I=770 F=0x4000 T=128 SYN (#5)
    (wpa.one.microsoft.com try https to it and see the certificate yourself!)
    This is the Product Activation certificate, it attempted to connect to this server an incredibly large number of times.

    Packet log: input DENY eth1 PROTO=17 192.168.1.3:1039 192.168.0.1:2869 L=48 S=0x00 I=673 F=0x0000 T=128 (#5)
    Not sure what it did here, 192.168.0.1 is the gateway I don't have the packet data at all, I'll do that in the near future. MAD props to brewt for some of the info!

  5. The key they removed: 0xD45EC86A by gburgyan · · Score: 5

    The key they removed (from the source) is:

    void KeyedHash(unsigned char *Data, unsigned char *Result)
    {
    SHA_CTX Context;
    unsigned char Digest[20];
    static unsigned char Key[4] =
    {
    #error The key has been removed from the source code. Please obtain the executable.
    };

    SHA1_Init(&Context);
    SHA1_Update(&Context, Data, 8);
    SHA1_Update(&Context, Key, 4);
    SHA1_Final(Digest, &Context);

    memcpy(Result, Digest, 8);
    }

    Doing a quick disassembly of the code:

    00401590 KeyedHash proc near ; CODE XREF: sub_4015F0+19p
    00401590
    00401590 var_74 = dword ptr -74h
    00401590 var_70 = dword ptr -70h
    00401590 var_60 = byte ptr -60h
    00401590 arg_0 = dword ptr 4
    00401590 arg_4 = dword ptr 8
    00401590

    ...stuff deleted...

    004015AE push 4
    004015B0 lea eax, [esp+88h+var_60]
    004015B4 push offset dword_40A034 ; ********** MAGIC!
    004015B9 push eax
    004015BA call sub_402170

    ...more stuff deleted...

    004015E8 retn
    004015E8 KeyedHash endp

    And the location they referenced:

    0040A034 dword_40A034 dd 0D45EC86Ah

    Thusly, the key should be 0xD45EC86A.

    More than one can play this game.

    Enjoy! (Sorry for the formatting, /. doesn't allow <pre>'s)

  6. Feeling ambivalent about Grandma... by jeko · · Score: 5
    Like the rest of us, I've started passing out tapes loaded with my 90 minute speech to answer my non-geek friends and relatives when I hear them ask "Why won't the gov'mint just leave that nice Gates man alone? He invented the Internet, didn't he..."

    I was actually looking forward to the day when I could say, "Well, Grandma, I could change your busted hard drive for you, but that would mean that nice Gates man would want another $300. Maybe you should just buy another computer..."

    "Buy another computer?! What's wrong with you, boy? I'll just shop around for a cheaper copy of Windows! Someone'll will have it on sale..."

    I was so looking forward to listening to Grandma on MS tech support demanding another activation code, and chewing them out when they inevitably refuse to give it to her...

    XP activation was going to be the wake-up call for Joe EndUser. Now that it's been publicly hacked, I'm really rather torn...

    --
    He put his boots up on the table and made a face. "The sig," he smirked. "You can waste your life in search of the sig."
  7. The real win here is marketing. by (H)elix1 · · Score: 5

    My god, think of how much those metrics alone are worth... A snapshot on DVD adoption, SCSI cards, % of laptops out there? Almost seems like the anti-copy stuff is just a smokescreen.

  8. "an important cryptographic key" by jmcmurry · · Score: 4

    Interesting that they removed the key in their source, but included it in the binaries.

    Kinda like: "Here are the plans to build a nuclear bomb, but we took out the part about where to get plutonium. But if you want one pre-made with plutonium ready to go, we can hook you up with that, too."

    Isn't this whole thing just a matter of time and programmer determination anyway?

  9. Re:Same old Cut 'n Paste argument. But anyway... by EvlG · · Score: 5

    An often ignored concept (that George Broussard from 3D Realms seems to have understood) is that most pirated copies would NOT have been purchased anyways. There are lots of users that will not use the software unless they can get it for free. So in effect, they can either not pay for the software and use it, or not use it at all. Note that such users dont give ANYTHING to the company anyway; it is just a question of whether or not they will use the sotrware. In this case, the software company enjoys a larger installed base.

    This is most of the reason why I see the Y Company lost $X to piracy as a BS argument. I've always noticed that lots of people won't pay for software at all; if they had to pay they would do without. IN that case, the Y Company is losing $X in potential sales because their price is too high/marketing not good enough/etc... How different is that from any other company in the tangible good and services industries that loses sales because consumers dont want to pay that much for the product? Why, then, should we treat software companies any differently from those that have poor sales policies?

  10. Isn't this asking for a lawsuit? by khym · · Score: 5

    I haven't seen any of the license agreements concerning Windows installs that have WPA, but I assume that there's something against reverse engineering. Not only have these people reverse engineered (part of) the WPA process, but they've published the source code. While they didn't put the cryptographic key in the source, they did put it in the executable, and even clearly proclaim this, almost a wink wink nudge nudge to the people out there who are sure to take the executable appart, get the key, put it back into the source code, and then re-publish the complete, non-crippled source.

    Given all this, it seems like their really asking for MS to sue them. Is something like this covered under an "academic research" clause that allows reverse engineering for research purposes?


    Suppose you were an idiot. And suppose that you were a member of Congress. But I repeat myself.
    --
    Give a man a fire, and he'll be warm for a day, but set him on fire, and he'll be warm for the rest of his life.
  11. Re:How long? by Tom · · Score: 4

    since they are a GERMAN company, and (contrary to the DVD CCAs assumptions in that california lawsuit) germany is not an american state, they are pretty much immune from DMCA-like bullshitting.

    there are two things that could make things ugly for Fully Licensed GmbH. one is a license agreement, but so far, the validity of click-through, shrink-wrap or similiar licenses is highly doubted in germany. AFAIK, none has ever been enforced in a court.
    second, there is a provision against reverse-engineering in the german copyright law. however, it also allows for a number of exceptions.

    one way or the other, since they are a GmbH, the worst that can happen is that they'll be sued out of business, but with no loss to their private capital. so they'll immediatly start a new company under a similiar name and harvest all the free publicity advantages.

    because lastly, sueing them would be the equivalent of saying "yes, we feel guilty. yes, we've done wrong. and no, we can't stand that you found us with the hand in the cookie jar." - a pretty dumb publicity stunt, even for M$ standards.

    --
    Assorted stuff I do sometimes: Lemuria.org
  12. Make sure to mirror this.... by Wakko+Warner · · Score: 4
    I have a feeling it won't be around for long.

    - A.P.

    --

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
  13. purpose of paper? by nyet · · Score: 5

    Onstensibly, the paper's purpose is to analyze the privacy impact of the registraction procedure; i.e. how much information about YOU Microsoft can glean from the hashed system info.

    In this light, the paper itself is relatively benign; enough so that Microsoft shouldn't be overly worried about it.

    The fact that it can be used to spoof WAP isn't even mentioned in the paper ;)

    I am guessing this is entirely intentional.

  14. Re:lok-tite by Enigma2175 · · Score: 5
    Publishing how to pick a lock isn't going to keep the door locked long.

    I beg to differ. There are countless articles written on how to pick locks. Here is one that is written on the level of the layman:

    How Stuff Works: Lock Picking.

    There are methods for doing many untasteful things(i.e. building bombs, cooking methamphetamine, etc) freely available, but this does not mean that everyone is blowing up buildings. I don't think it causes harm to simply have the information available. Security by obscurity is no securtity at all.


    Enigma

    --

    Enigma

  15. For those of you who didn't read the doc: by vslashg · · Score: 5
    There is a wicked table in there. While it's not surprising to see from Microsoft, it's still a tad bit scary and impressive at the same time.

    Various strings are run through a hashing function and are stored in the key you read to the Microsoft rep over the phone (the Installation key). They are:

    • Your network card's MAC address
    • Amount of RAM installed
    • Processor model
    • Processor serial number
    • Volume serial number
    • Hardware ID strings from
      • Your CD-ROM drive
      • Your hard drive
      • Your video card
      • Your SCSI host adapter
      • Your IDE controller
    These values are thrown together (along with some other values) into a huge bit field. Also, a three-digit random number is thrown into the mix. Because the end result that you read to the phone rep is encrypted, this three digit number causes your code to be entirely different on each install.

    Here's the real fun part: The OS also stores a snapshot of your hardware configuration. If you change more than three of these hardware components out? It's time to call Microsoft and re-activate your license.

    When you re-activate, naturally you'll have to generate a new Installation Key and they'll be able to see exactly what components you changed out. Fun, huh?

  16. Same old Cut 'n Paste argument. But anyway... by ahaning · · Score: 5

    Many commercial software developers like to list piracy as a reason for high costs. Microsoft included.

    But when did Microsoft ever sell, say Win95 for $35 ? So, how has piracy raised the price? It's always been sold for one price (~$80) and hasn't gone up or down depending on how many copies are purchased.

    And then there's the user base argument. When people are pirating your software, they're strengthening your monopoly. Just as it's good for FreeSoftware everytime a Linux/*BSD CD is given to someone new, how does it hurt MS when a home user borrows their friend's Win95 CD? The more times Win95 is installed, the more people are using it and the more likely that person is to become a valuable Windows-using consumer. Buying Windows software, perhaps purchasing a new computer with Win98 preinstalled. Requiring a Windows PC at work. Purchasing upgrades.

    Now, I must admit that most people who are going to borrow a Win95 CD will be unlikely to turn 100% legal overnight. But then, when has Microsoft ever been struggling. Well, only when EVERYONE ELSE has been struggling. Back when the economy was booming, Microsoft wasn't struggling to survive due to piracy. Only when everyone else has been struggling has MS even started to feel the pinch.

    Like I said, it's the same old cookie-cutter answer to "MSFT looses $X Billion to piracy each year", but it's always a fun argument :-) .


    kickin' science like no one else can,
    my dick is twice as long as my attention span.

    --
    Withdrawal before climax is very ineffective and those who try this are usually called "parents."
  17. Argh, this really will suck... by (H)elix1 · · Score: 4

    Now, I swap out video cards, CD's, NIC's, and CPU's fairly often. I also use removable HDD chassis to ease swapping drives in my primary box.

    For this purpose, the double words are divided into twelve bit-fields. The relationship between the computer hardware and the bit-fields is given in the following table.

    double word | offset | length | bit-field value based on
    H1 | 0 | 10 | volume serial number string of system volume
    H1 | 10 | 10 | network adapter MAC address string
    H1 | 20 | 7 | CD-ROM drive hardware identification string
    H1 | 27 | 5 | graphics adapter hardware identification string
    H2 | 0 | 3 | unused, set to 001
    H2 | 3 | 6 | CPU serial number string
    H2 | 9 | 7 | harddrive hardware identification string
    H2 | 16 | 5 | SCSI host adapter hardware identification string
    H2 | 21 | 4 | IDE controller hardware identification string
    H2 | 25 | 3 | processor model string
    H2 | 28 | 3 | RAM size
    H2 | 31 | 1 | 1 = dockable 0 = not dockable

    Bit 31 of H2 specifies, whether the bit-fields represent a notebook computer that supports a docking station. If docking is possible, the activation mechanism will be more tolerant with respect to future hardware modifications. Here, the idea is that plugging a notebook into its docking station possibly results in changes to its hardware configuration, e.g. a SCSI host adapter built into the docking station may become available.

    When judging whether re-activation is necessary, the bit-field values of a) are compared to the bit-field values of b), i.e. the current hardware configuration is compared to the hardware configuration at the time of activation.

    Typically all bit-fields with the exception of the unused field and the 'dockable' field are compared. If more than three of these ten bit-fields have changed in a) since product activation, re-activation is required.

    This really will be a pain for those who have rigs used for a lot of testing.

  18. The Mac registration isn't mandatory. by jcr · · Score: 4

    You can quit the setup program by hitting command-Q. The OS won't complain if you do, and you can run the Internet setup assistant separately.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  19. Re:My Experience with XP Activation by autechre · · Score: 5

    Bothered by filling out that Apple registration form? Lie.

    I think that when I registered the iMac a certain company bought to do web compatibility testing, it wound up being used primarily for scientific research. In an elementary school.

    They ask you for _your_ email address. But all they require is _an_ email address. Besides, you have a throwaway webmail account for everything that asks for your address where there's a slight chance that they might actually need to use it to achieve something you want, right?

    On the other hand, the WinXP product verification collects true information about your computer. Perhaps the one for OS X does also, but they haven't mentioned anything about not being able to install that copy of OS X on another Mac. There are indications that changing your hardware "too much" will invalidate your XP product verification. People have asked Microsoft, "How much is too much?", and they're not telling. That certainly seems worse to me.

    I suppose this would bother me more if I were ever going to use one of these operating systems at home, but I'm not. This is one of the main reasons I use free software. If I see an operating system or program that looks useful, I download it and use it. If I like it, I continue to use it. If not, I discard it with no sense of loss. The most invasive thing I've ever encountered was when someone wanted me to send them a postcard for using their software.

    Sotto la panca, la capra crepa

    --
    WMBC freeform/independent online radio.
  20. Re:All the hardware you're not allowed to change: by greenreaper · · Score: 4

    Primary Harddrive Ethernet card CDROM Drive Graphics adaptor CPU Harddrive SCSI controller IDE controller RAM Changing any of these items will result in you needing to call up Microsoft and beg for a new key.
    No. Changing four of them (sequentially or all at once) will result in you needing to call up - and changing hard drives four times doesn't count.
    ---
    TheGreenReaper (Laurence Parry)
  21. Re:My Experience with XP Activation by legLess · · Score: 4
    Oh, come on, postcard-ware is awesome. I've seen photos of guys who have walls of their houses covered with postcards they've received from all over the world. What's wrong with this?

    All the postcard-ware licenses I've seen simply ask you to send a postcard if you like the software. No registration, no details, just a postcard from where you live. I think it's cool.

    "We all say so, so it must be true!"

    --
    This isn't as much "normalization" as it is "don't take so many drugs when you're designing tables."