Product key

Product key on a Proof of License Certificate of Authenticity for Windows Vista Home Premium

A product key, also known as a software key, serial key or activation key, is a specific software-based key for a computer program. It certifies that the copy of the program is original.

Product keys consist of a series of numbers and/or letters. This sequence is typically entered by the user during the installation of computer software, and is then passed to a verification function in the program. This function manipulates the key sequence according to a mathematical algorithm and attempts to match the results to a set of valid solutions.

Effectiveness

Standard key generation, where product keys are generated mathematically, is not completely effective in stopping copyright infringement of software, as these keys can be distributed. In addition, with improved communication from the rise of the Internet, more sophisticated attacks on keys such as cracks (removing the need for a key) and product key generators have become common.

Because of this, software publishers use additional product activation methods to verify that keys are both valid and uncompromised. One method assigns a product key based on a unique feature of the purchaser's computer hardware, which cannot be as easily duplicated since it depends on the user's hardware. Another method involves requiring one-time or periodical validation of the product key with an internet server (for games with an online component, this is done whenever the user signs in). The server can deactivate unmodified client software presenting invalid or compromised keys. Modified clients may bypass these checks,[1] but the server can still deny those clients information or communication.

Examples

Windows 95 retail key

Windows 95 retail product keys take the form XXX-XXXXXXX.[2] To determine whether the key is valid, Windows 95 performs the following checks:

  • The first 3 characters must not be equal to 333, 444, 555, 666, 777, 888 or 999.
  • The last 7 characters must all be numbers from 0-8.
  • The sum of the last 7 numbers must be divisible by 7 with no remainder.
  • The fourth character is unchecked.

If all checks pass, the product key is valid. Consequently a product key of 000-0000000 would be considered valid under these conditions.

Windows 95 OEM key

Windows 95 OEM keys take the form XXXXX-OEM-XXXXXXX-XXXXX.

  • The first 3 characters must be a number between 0-366.
  • The next 2 characters must be a number between 04-93.
  • The next 3 characters must be OEM.
  • The sum of the next 7 numbers must be divisible by 7 with no remainder.
  • The rest of the characters are unchecked.

Windows XP retail key

Windows XP uses an installation ID, product ID, and a product key for activation.[3][4]

Installation ID

The installation ID is a 50 digit decimal string that is divided into 5 groups of six digits each with 2 digits at the end, which takes the form of XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XX. The installation ID is regenerated every time msoobe.exe is ran.

Check digits

The right most digit in each group of the installation ID is a check digit.

  • Each check digit is calculated by adding the other five digits in its group.
  • Then adding the digits in that group in the even positions a second time.
  • Then dividing the sum of them by 7.
  • The remainder is the value of the check digit in its group.
Decoding

Removing the check digits results in a 41-digit decimal encoded 136 bit multi precision integer, which is stored in little endian byte order as a byte array.

Decryption

The lower 16 bytes of the Installation ID are encrypted, whereas the most significant byte is kept in plaintext. The cryptographic algorithm used to encrypt the Installation ID is a proprietary four-round Feistel cipher. Since the block of input bytes passed to a Feistel cipher is divided into two blocks of equal size, this class of ciphers is typically applied to input blocks consisting of an even number of bytes in this case the lower 16 of the 17 input bytes. The round function of the cipher is the SHA-1 message digest algorithm keyed with a four-byte sequence.

Let + denote the concatenation of two byte sequences, ^ the XOR operation, L and R the left and right eight-byte input half for one round, L' and R' the output halves of said round, and First-8() a function that returns the first eight bytes of an SHA-1 message digest.

Then one round of decryption looks as follows.

         L' = R ^ First-8(SHA-1(L + Key))

         R' = L

The result of the decryption is 16 bytes of plaintext, which are together with the 17th unencrypted byte which will be interpreted as four double words in little endian byte order followed by a single byte.

Name Size Offset
H1 Double word 0
H2 Double word 4
P1 Double word 8
P2 Double word 12
P3 Byte 16

H1 and H2 specify the hardware configuration that the Installation ID is linked to. P1 and P2 as well as the remaining byte P3 contain the Product ID associated with the Installation ID.

Product ID

The Product ID consists of five groups of decimal digits, as in AAAAA-BBB-CCCCCCC-DDEEE.

Decoding

The mapping between the Product ID in decimal representation and its binary encoding in the double words P1 and P2 and the byte P3 is summarized in the following table.

Digits Length Encoding Meaning
AAAAA 17 Bits Bit 0 to bit 16 of P1 Always 55034 (in Windows XP RC1)
BBB 10 Bits Bit 17 to bit 26 of P1 Most significant three digits of Raw Product Key
CCCCCCC 28 Bits Bit 27 to bit 31 of P1 (lower 5 bits) and Bit 0 to bit 22 of P2 (upper 23 bits) Least significant six digits of Raw Product Key and check digit
DDEEE 17 Bits Bit 23 to bit 31 of P2 (lower 9 bits) and Bit 0 to bit 7 of P3 (upper 8 bits) DD = Index of the public key used to verify the Product key

EEE = Random value

Product key

The Product key takes the form as XXXXX-XXXXX-XXXXX-XXXXX-XXXXX. Each character is one of the following 24 letters and digits: B C D F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9

The 25 characters of the Product Key form a base-24 encoding of the binary representation of the Product Key. The Product Key is a multi-precision integer of roughly 115 bits, which is stored in little endian byte order in an array of 15 bytes. Of these 15 bytes the least significant four bytes contain the Raw Product Key in little endian byte order. The least significant bit is removed by shifting this 32-bit value to the left by one bit position. The eleven remaining bytes form a digital signature, allowing verification of the authenticity of the Product Key by means of a hard-coded public key.

To obtain the CCCCCCC component, a check digit is appended, and the check digit that is chosen such that the sum of all digits, including the check digit, is divisible by seven. For verifying a Product Key, more than one public key is available. If verification with the first public key fails, the second is tried, etc. The DD component of the Product ID specifies which of the public keys in this sequence was successfully used to verify the Product Key.

Hardware information bit-fields

The hardware configuration linked to the Installation ID is represented by the two double words H1 and H2. For this purpose, the double words are divided into twelve bit-fields.

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 Hard drive 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

If docking is possible, the activation mechanism will be more tolerant with respect to future hardware modifications. If the hardware component corresponding to one of the remaining ten bit-fields is present, the respective bit-field contains a non-zero value describing the component. A value of zero marks the hardware component as not present. All hardware components are identified by a hardware identification string obtained from the registry. Hashing this string provides the value for the corresponding bit-field.

Hashing

The hash result is obtained by feeding the hardware identification string into the MD5 message digest algorithm and picking the number of bits required for a bit-field from predetermined locations in the resulting message digest. Different predetermined locations are used for different bit-fields. In addition, a hash result of zero is avoided by calculating . Where BitFieldMax is the maximal value that may be stored in the bit-field in question, e.g. 1023 for a 10-bit bit-field, and 'x % y' denotes the remainder of the division of x by y. This results in values between 1 and BitFieldMax. The obtained value is then stored in the respective bit-field.

RAM bit-field

The bit-field related to the amount of RAM available to the operating system is calculated differently from the other bit-fields as shown in the table.

Value Amount of RAM possible
0 (bit-field is unused)
1 Below 32 MB
2 between 32 MB and 63 MB
3 Between 64 MB and 127 MB
4 Between 128 MB and 255 MB
5 Between 256 MB and 511 MB
6 Between 512 MB and 1023 MB
7 Above 1023 MB

Note that the amount of RAM is retrieved by calling the GlobalMemoryStatus() function, which reports a few hundred kilobytes less than the amount of RAM physically installed. So, 128 MB of RAM would typically be classified as "between 64 MB and 127 MB".

Hardware modifications

wpa.dbl is the RC4-encrypted database that stores, expiration information, the confirmation ID of an activated installation, the bit-field values representing the current hardware configuration, and the bit-field values representing the hardware configuration at the time of product activation, etc. The current hardware configuration is automatically updated each time the hardware configuration is modified in order to reflect the changes, while the values representing the hardware configuration at the time of product activation is fixed. When judging whether re-activation is necessary, the bit-field values of the current hardware configuration is compared to the hardware configuration at the time of activation.

Non-dockable computers

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 the current hardware configuration since product activation, re-activation is required.

Dockable computers

If bit 31 of H2 indicates that our computer supports a docking station, only seven of the ten bit-fields mentioned above are compared. The bit-fields corresponding to the SCSI host adapter, the IDE controller, and the graphics board are omitted. Of these remaining seven bit-fields, only up to three may change without requiring re-activation.

Controversy

Some of the most effective product key protections are controversial due to inconvenience, strict enforcement, harsh penalties and, in some cases, false positives. Some product keys use uncompromising digital procedures to enforce the license agreement.

Inconvenience

Product keys are somewhat inconvenient for end users. Not only do they need to be entered whenever a program is installed, but the user must also be sure not to lose them. Loss of a product key usually means the software is useless once uninstalled, unless, prior to uninstallation, a key recovery application is used (although not all programs support this).[5]

Product keys also present new ways for distribution to go wrong. If a product is shipped with missing or invalid keys, then the product itself is useless. For example, all copies of Splinter Cell: Pandora Tomorrow originally shipped to Australia without product keys.[6]

Enforcement and penalties

There are many cases of permanent bans enforced by companies detecting usage violations. It is common for an online system to immediately blacklist an account caught running cracks or, in some cases, cheats. This results in a permanent ban. Players who wish to continue use of the software must repurchase it. This has inevitably led to criticism over the motivations of enforcing permanent bans.[citation needed]

Particularly controversial is the situation which arises when multiple products' keys are bound together. If products have dependencies on other products (as is the case with expansion packs), it is common for companies to ban all bound products. For example, if a fake key is used with an expansion pack, the server may ban legitimate keys from the original game. Similarly, with Valve's Steam service, all products the user has purchased are bound into the one account. If this account is banned, the user will lose access to every product associated with the same account.[7]

This "multi-ban" is highly controversial, since it bans users from products which they have legitimately purchased and used.[citation needed]

False positives

Bans are enforced by servers immediately upon detection of cracks or cheats, usually without human intervention. Sometimes, legitimate users are wrongly deemed in violation of the license, and banned. In large cases of false positives, they are sometimes corrected (as happened in World of Warcraft.[8]) However, individual cases may not be given any attention.[citation needed]

A common cause of false positives (as with the World of Warcraft case above) is users of unsupported platforms. For example, users of Linux can run Windows applications through compatibility layers such as Wine and Cedega. This software combination sometimes triggers the game's server anti-cheating software, resulting in a ban due to Wine or Cedega being a Windows API compatibility layer for Linux, so it is considered third-party (cheating) software by the game's server.[9] [citation needed]

See also

References

  1. ^ Chang, Hoi; Atallah, Mikhail J. (2002). "Protecting Software Codes by Guards". Security and Privacy in Digital Rights Management. Springer. p. 160-175. doi:10.1007/3-540-47870-1_10. ISBN 978-3-540-47870-6.
  2. ^ Upadhyay, Saket (May 14, 2021). "Reversing Microsoft's Windows95 Product Key Check Mechanism".
  3. ^ Purdy, Kevin (2023-05-26). "Green hills forever: Windows XP activation algorithm cracked after 21 years". Ars Technica. Retrieved 2024-06-29.
  4. ^ Chaussee, Rudower (July 2001). "Inside Windows Product Activation". Licenturion. Retrieved June 28, 2024.
  5. ^ "ProduKey - Recover lost product key (CD-Key) of Windows/MS-Office/SQL Server". NirSoft. Retrieved 2021-02-09.
  6. ^ Australian Pandora Tomorrow CD-Key Problems Shack News
  7. ^ "Valve suspends 20,000 Steam accounts". GameSpot. Retrieved 2013-05-15.
  8. ^ Blizzard Unbans Linux World of Warcraft Players Softpedia
  9. ^ "Linux users banned from Diablo 3- End Gamers". Archived from the original on 2012-07-10. Retrieved 2012-08-14.

Read other articles:

1954 film by William Castle Jesse James vs. the DaltonsDirected byWilliam CastleWritten bySamuel NewmanScreenplay byRobert E. KentStory byEdwin V. WestrateProduced bySam KatzmanStarringBrett KingBarbara Lawrence James GriffithCinematographyLester WhiteEdited byViola LawrenceColor processTechnicolorProductioncompanyColumbia PicturesDistributed byColumbia PicturesRelease date April 2, 1954 (1954-04-02) Running time65 minutesCountryUnited StatesLanguageEnglish Jesse James vs. the ...

 

SantoAgustinus dari HippoThe Triumph of Saint Augustine oleh Claudio Coello, ca. 1664Uskup, Pujangga GerejaLahirAurelius Augustinus13 November 354Thagaste, Numidia Cirtensis, Kekaisaran Romawi(sekarang Souk Ahras, Algeria)Meninggal28 Agustus 430 (umur 75)Hippo Regius, Numidia Cirtensis, Kekaisaran Romawi Barat(modern-day Annaba, Algeria)MakamPavia, ItaliaDihormati diSemua denominasi Kristen yang memiliki penghormatan orang kudusTempat zairahSan Pietro in Ciel d'Oro, Pavia, ItaliaPesta 2...

 

Jonny Evans Evans pada tahun 2011Informasi pribadiNama lengkap Jonathan Grant Evans[1]Tanggal lahir 3 Januari 1988 (umur 35)Tempat lahir Belfast, Irlandia UtaraTinggi 1,90 m (6 ft 3 in)[2][3]Posisi bermain BekInformasi klubKlub saat ini Manchester United F.C.Nomor 6Karier junior2004–2006 Manchester UnitedKarier senior*Tahun Tim Tampil (Gol)2006–2015 Manchester United 131 (4)2006 → Royal Antwerp (pinjaman) 11 (2)2006–2007 → Sunderland (pinj...

Brand of chocolate biscuits For other uses, see Tim Tam (disambiguation). Tim TamA plate of Tim TamsProduct typeSnack foodOwnerArnott's Biscuits HoldingsCountryAustraliaIntroduced1964; 59 years ago (1964)Websitearnotts.com.au/products/tim-tam Tim Tam is a brand of chocolate biscuit introduced by the Australian biscuit company Arnott's in 1964. It consists of two malted biscuits separated by a light hard chocolate cream filling and coated in a thin layer of textured chocolate...

 

Kay Lahusen pada 2001, di depan gambarnya dalam The Ladder. Kay Lahusen, dikenal juga sebagai Kay Tobin Lahusen atau Kay Tobin (5 Januari 1930 – 26 Mei 2021) adalah fotojurnalis wanita gay terbuka Amerika pertama.[1] Fotograf lesbian Lahusen muncul dalam beberapa sampul The Ladder dari 1964 hingga 1966 ketika pasangannya, Barbara Gittings, sebagai penyunting. Lahusen membantu mendirikan Aliansi Aktivis Gay (GAA) awal pada 1970, ia berkontribusi pada koran mingguan asal...

 

Nagoya Stock Exchange Nagoya Stock Exchange (名古屋証券取引所 Nagoya Shōken Torihikijo, NSE) is a stock trading market in Nagoya, Japan. It is Japan's second largest exchange, behind the Tokyo Stock Exchange. History The Nagoya Stock Exchange (NSE) is the successor to the Nagoya Stock Exchange Co. Ltd., which was founded in 1886. It was founded in 1949 as a corporation with securities companies as members under the terms of the Securities and Exchange Law.[1] In 2002, Nagoya ...

Sporting event delegationGreat Britain at the1924 Summer OlympicsFlag of the United KingdomIOC codeGBRNOCBritish Olympic Associationin ParisCompetitors267 (239 men and 28 women) in 18 sportsFlag bearerArthur HuntMedalsRanked 4th Gold 9 Silver 13 Bronze 12 Total 34 Summer Olympics appearances (overview)189619001904190819121920192419281932193619481952195619601964196819721976198019841988199219962000200420082012201620202024Other related appearances1906 Intercalated Games Great Britain, repre...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Mladorossi – news · newspapers · books · scholar · JSTOR (May 2010) (Learn how and when to remove this template message) Political party in Russia Union of Mladorossi Союз МладороссовLeaderAlexander KazembekFounded1923 (1923)Dissolved194...

 

Video game created in 2012 Candy Crush redirects here. For the game show, see Candy Crush (game show). 2012 video gameCandy Crush SagaDeveloper(s)KingPublisher(s)KingPlatform(s)App StoreGoogle PlayWindows Phone StoreWindowsmacOSLinuxReleaseBrowserApril 12, 2012iOSNovember 14, 2012AndroidDecember 14, 2012Fire OSDecember 11, 2014Windows PhoneSeptember 6, 2012WindowsJuly 29, 2015Genre(s)Puzzle Candy Crush Saga is a free-to-play tile-matching video game released by King on April 12, 2012, origina...

3rd Emperor of Yuan-dynasty China and 7th Khagan of the Mongol Empire (r. 1307–11) This article is about Yuan emperor. For the leader of Mongolian independence movement, see Bayantömöriin Khaisan. Emperor Wuzong of Yuan元武宗Külüg Khan曲律汗ᠬᠥᠯᠥᠭ ᠬᠠᠭᠠᠨ7th Khagan of the Mongol Empire(Nominal due to the empire's division)Emperor of China (3rd Emperor of the Yuan dynasty)Portrait of Külüg Khan (Emperor Wuzong), from the Yuan era.Emperor of the Yuan dynastyReignJ...

 

العلاقات الغامبية المالاوية غامبيا مالاوي   غامبيا   مالاوي تعديل مصدري - تعديل   العلاقات الغامبية المالاوية هي العلاقات الثنائية التي تجمع بين غامبيا ومالاوي.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة غا...

 

قصر لينة التاريخيمعلومات عامةنوع المبنى قصرالمكان قرية لينة-رفحاءالبلد  السعوديةتعديل - تعديل مصدري - تعديل ويكي بيانات قصر لينة التاريخي هو قصر سعودي قديم بُني بأمر من الملك المؤسس عبد العزيز بن عبد الرحمن آل سعود في بداية سنوات توحيده لبلاده عام 1354ــ 1355هـ ؛ ليكون مقرا ...

此條目已列出參考文獻,但因為沒有文內引註而使來源仍然不明。 (2020年3月19日)请加上合适的文內引註来改善这篇条目。 《米歇尔·勒佩勒捷的最后时刻》(The Last Moments of Michel Lepeletier)是法国艺术家雅克-路易·大卫的一幅画作,创作于1793年。 这幅画现已失踪,画作的主人公米歇尔·勒佩勒捷因投票赞成处死路易十六而遇刺身亡。这幅画与大卫的另一幅画作《马拉之死》...

 

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Selat Bosporus – berita · surat kabar · buku · cendekiawan · JSTOR Untuk Bosporus sebagai jembatan, lihat: Jembatan Bosporus. Selat Dardanella (kekuningan) dan Bosporus (kemerahan). Bosporus (bahasa Yuna...

 

Main article: Baseball at the 2020 Summer Olympics Baseball at the 2020 Summer OlympicsQualificationmenTournamentmenRostersmenSoftball at the 2020 Summer OlympicsQualificationwomenTournamentwomenRosterswomenvte Six national teams qualified to compete in baseball at the 2020 Summer Olympics in Tokyo (postponed to 2021[1] due to the COVID-19 pandemic). As host, Japan automatically qualified. Israel also qualified, by winning the Africa/Europe Qualifying Event in September 2019. In addit...

2009 Canadian filmThe SpineTwo DVD set that contains the filmDirected byChris LandrethWritten byChris LandrethProduced by Steve Hoban Marcy Page Starring Gordon Pinsent Alberta Watson Edited by Yonah Lewis Jeremy Montgomery Music byKirk ElliottAnimation by Seneca College Productioncompanies Copperheart Entertainment C.O.R.E. National Film Board of Canada Dolby Autodesk Seneca College Gumby Poppetstown Distributed byNational Film Board of CanadaRelease date June 8, 2009 (2009-06...

 

Dame Heather McGregorDBE FRSEProfessor Heather J. McGregor in 2022Provost and Vice Principal of Heriot-Watt University DubaiIncumbentAssumed office 1 September 2022 Dame Heather Jane McGregor DBE FRSE (born 27 March 1962) is a British executive, journalist, and academic. She is the Provost and Vice Principal of Heriot-Watt University Dubai since 1 September 2022. Prior to that and since 2016, she has been Executive Dean of Edinburgh Business School, Heriot Watt University. She wro...

 

See also: Timeline of the Tang dynasty, Timeline of the Jurchens, and Timeline of the Tanguts Liao dynasty (916–1125) Collapse of the Liao dynasty (1117–1124) Western Liao (Qara Khitai) (1124–1218) This is a timeline of the history of the Khitans. The Khitans were a nomadic people in northeastern Asia related to the Xianbei. Following the collapse of the Tang dynasty, they established the Liao dynasty in 916, encompassing parts of modern-day northern China, Mongolia, and North Korea. Th...

Japanese manga artist Tsutomu Adachiあだち 勉Born(1947-08-01)August 1, 1947Isesaki, GunmaDiedJune 18, 2004(2004-06-18) (aged 56)JapanNationalityJapaneseOccupationManga artist Tsutomu Adachi (あだち 勉 or 安達 勉, Adachi Tsutomu, August 1, 1947 — June 18, 2004) was a Japanese manga artist born in Isesaki City, Gunma Prefecture, Japan,[1] and the older brother of Mitsuru Adachi.[2] Tsutomu was an assistant to Fujio Akatsuka, and was known as one of the Four Pro...

 

Painting by Thomas Eakins The Chess PlayersArtistThomas EakinsYear1876TypeOil on wood panelDimensions29.8 cm × 42.6 cm (11+3⁄4 in × 16+3⁄4 in)LocationMetropolitan Museum of Art, New York The Chess Players is an 1876 genre painting by Thomas Eakins, Goodrich catalogue #96. It is in the collection of the Metropolitan Museum of Art, in New York. Description It is a small oil on wood panel depicting Eakins' father Benjamin observing a chess ...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!