4

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.

5

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 '14 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. – jksoegaard May 18 '14 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. – jksoegaard May 18 '14 at 11:14
4

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.

2

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 '16 at 19:54
1

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','');
...
  • 1
    Those will only give you the trial serial numbers; the real serial numbers are in a cache database in a subfolder – personne3000 Sep 26 '15 at 15:29
  • @personne3000 please can you provide the full path to this folder? – codecowboy Feb 29 '16 at 15:46
  • @codecowboy just look at my answer, I wrote the full path there – personne3000 Feb 29 '16 at 22:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .