Where does OS X store my Adobe product keys?
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.
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.
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]'))