I know that Keychain holds my WiFi and other passwords, but I'm curious to know where my Adobe and Microsoft product keys for things like CS6 and Office live. I'm using OS X Mavericks.
4 Answers
There's no generic OS X place for storing product keys. It is up to each individual software supplier to decide where they want to store the products. Usually it is done in ordinary files stored in the file system.
For Microsoft they reside in /Library/Preferences/
under a name such as com.microsoft.office.licensing.plist.
Similarly for Adobe I think they are in /Library/Application Support/Adobe/<product>/<product> Registration
As a user you don't really need to know where it is stored as the programs handle product key management themselves.
-
With regard to the Adobe path, I can't find a Registration folder in the Adobe folder (even using Spotlight to search recursively)…?– grg ♦May 16, 2014 at 20:38
-
The path looks weird because I wrote some parts of it inside angular braces, which were removed by the stackexchange editor. You need to look in the "product name" subfolder to the Adobe folder. May 18, 2014 at 11:14
-
Regarding Adobe, just google it, if you have a psecific program you're looking for - and it's not a generic question like it originally sounded. May 18, 2014 at 11:14
For adobe CS5, look in /Library/Application Support/Adobe/Adobe PCD/cache/cache.db: this is a sqlite database (you can open it with sqlite3).
sqlite3
.open "cache.db"
Then run the query:
select * from domain_data where key='SN';
This should give you a 24-numbers encrypted serial number. You must then decrypt it (the "SoftKey Revealer" freeware for Windows has a decryption tool, you can also run it using wine on Linux and possibly Mac OS).
If you re-install, you might need to enter your trial serial key at installation, and then enter your product key at the activation step. For the trial serial, see the other answer from mspasov.
Another way to decrypt the serial number, as opposed to downloading freeware tainted by evil payloads (at least one download site for "Softkey Revealer" has taint) is to run a simple JavaScript function (copied from elsewhere, but tested and works):
function DecodeAdobeKey(sAdobeEncryptedKey) {
var regex = /[0-9]{24}/g;
if (!regex.test(sAdobeEncryptedKey)) {
return 'corrupted serial';
}
var AdobeCipher = new Array(), index = 0, sAdobeDecryptedKey = '';
AdobeCipher[index++] = '0000000001';
AdobeCipher[index++] = '5038647192';
AdobeCipher[index++] = '1456053789';
AdobeCipher[index++] = '2604371895';
AdobeCipher[index++] = '4753896210';
AdobeCipher[index++] = '8145962073';
AdobeCipher[index++] = '0319728564';
AdobeCipher[index++] = '7901235846';
AdobeCipher[index++] = '7901235846';
AdobeCipher[index++] = '0319728564';
AdobeCipher[index++] = '8145962073';
AdobeCipher[index++] = '4753896210';
AdobeCipher[index++] = '2604371895';
AdobeCipher[index++] = '1426053789';
AdobeCipher[index++] = '5038647192';
AdobeCipher[index++] = '3267408951';
AdobeCipher[index++] = '5038647192';
AdobeCipher[index++] = '2604371895';
AdobeCipher[index++] = '8145962073';
AdobeCipher[index++] = '7901235846';
AdobeCipher[index++] = '3267408951';
AdobeCipher[index++] = '1426053789';
AdobeCipher[index++] = '4753896210';
AdobeCipher[index++] = '0319728564';
//decode the adobe key
for (var i = 0; i < 24; i++) {
if (i % 4 == 0 && i > 0)
sAdobeDecryptedKey += '-';
sAdobeDecryptedKey += AdobeCipher[i].charAt(sAdobeEncryptedKey.charAt(i));
}
return sAdobeDecryptedKey;
}
You can copy this to the Chrome or Firefox debugger console, then type:
console.log(DecodeAdobeKey('[put the encrypted number here without the square brace]'))
-
This is a fine, stand-alone answer. I've edited it to exist properly as one.– Ian C.May 28, 2016 at 19:54
-
The number I got from this was 1 number off from my actual serial number. The 3rd number should have been a "2", but this gave me a "5". Mar 19, 2022 at 21:25
Adobe registration info (for most recent Adobe CC products) is stored at /Library/Application Support/Adobe/Adobe PCD/
. There is a SQLite file, containing the keys. Here is a partial dump:
...
INSERT INTO "domain_data" VALUES('1','V7{}Lightroom-6-Mac-GM','EPIC_APP','Adobe Lightroom');
INSERT INTO "domain_data" VALUES('1','V7{}Lightroom-6-Mac-GM','EPIC_APP_160','Adobe Lightroom');
INSERT INTO "domain_data" VALUES('1','V7{}Lightroom-6-Mac-GM','TrialSerialNumber','9732070344xxxxxxxxx8');
INSERT INTO "domain_data" VALUES('1','V7{}Lightroom-6-Mac-GM','ExpirationDate','');
INSERT INTO "domain_data" VALUES('1','V7{}Lightroom-6-Mac-GM','NTL_WO_SN','');
...
-
1Those will only give you the trial serial numbers; the real serial numbers are in a cache database in a subfolder Sep 26, 2015 at 15:29
-
@personne3000 please can you provide the full path to this folder? Feb 29, 2016 at 15:46
-
@codecowboy just look at my answer, I wrote the full path there Feb 29, 2016 at 22:19