Find Key of Installed and Activated instance Adobe Acrobat Professional without using 3rd party tools

Have several copies of Acrobat Professional that were purchased previously, installed and activated. However there is no documentation of the serial numbers, the Adobe online account ID or any details for these.

Need to move the licenses to upgraded Windows 7 PCs (current ones are on Windows XP that are about to be decommissioned).

Requirement is to ONLY move the licenses to the upgraded workstations. NOT to have multiple instances of the same license running concurrently.

Note: Adobe support is not very helpful since there isn't much information about the licenses.

DO NOT want to use 3rd party tools to extract serial numbers.

Is there a way to get this information from the registry or any other location so that the licenses can be transferred without breaking the activation? If so how?


This is what I was able to find after a few Google searches

STEP 1: Find Adobe Key (Encrypted)

Use one of the methods below.

M1. Using SQLite DB: The activation information is stored at the location below:

C:\Program Files (x86)\Common Files\Adobe\Adobe PCD\cache\cache.db

This is a SQLite DB which can be opened with SQLite Database Browser. Using SQLite Database Browser, you need to look for the key SN

M2. Using the registry:

For 32 bit OS :

HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Adobe Acrobat\10.0\Registration\SERIAL

For 64 bit OS :

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\Adobe Acrobat\10.0\Registration\SERIAL

Replace 10.0 with version of Adobe being used

STEP 2: Decrypt Key

Use one of the methods below.

M1: JavaScript code to decrypt Serial:

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;
}

M2: PowerShell Code to decrypt Serial

function ConvertFrom-EncryptedAdobeKey {
    [CmdletBinding()]
    Param(
        [Parameter(Position=0, Mandatory=$true)] 
        [string]
        [ValidateLength(24,24)]
        $EncryptedKey
    )

    $AdobeCipher = "0000000001", "5038647192", "1456053789", "2604371895",
        "4753896210", "8145962073", "0319728564", "7901235846",
        "7901235846", "0319728564", "8145962073", "4753896210",
        "2604371895", "1426053789", "5038647192", "3267408951",
        "5038647192", "2604371895", "8145962073", "7901235846",
        "3267408951", "1426053789", "4753896210", "0319728564"
       
    $counter = 0

    $DecryptedKey = ""

    While ($counter -ne 24) {
        $DecryptedKey += $AdobeCipher[$counter].substring($EncryptedKey.SubString($counter, 1), 1)
        $counter ++
    }

    $DecryptedKey
}

M3: VB Code to decrypt Serial:

Function DecodeAdobeKey(strAdobeEncryptedKey)
Dim AdobeCipher(24)
Dim strAdobeDecryptedKey, i, j
 
AdobeCipher(0) = "0000000001"
AdobeCipher(1) = "5038647192"
AdobeCipher(2) = "1456053789"
AdobeCipher(3) = "2604371895"
AdobeCipher(4) = "4753896210"
AdobeCipher(5) = "8145962073"
AdobeCipher(6) = "0319728564"
AdobeCipher(7) = "7901235846"
AdobeCipher(8) = "7901235846"
AdobeCipher(9) = "0319728564"
AdobeCipher(10) = "8145962073"
AdobeCipher(11) = "4753896210"
AdobeCipher(12) = "2604371895"
AdobeCipher(13) = "1426053789"
AdobeCipher(14) = "5038647192"
AdobeCipher(15) = "3267408951"
AdobeCipher(16) = "5038647192"
AdobeCipher(17) = "2604371895"
AdobeCipher(18) = "8145962073"
AdobeCipher(19) = "7901235846"
AdobeCipher(20) = "3267408951"
AdobeCipher(21) = "1426053789"
AdobeCipher(22) = "4753896210"
AdobeCipher(23) = "0319728564"
 
'decode the adobe key
for i = 0 To 23
if (i Mod 4 = 0 And i > 0) Then
'every 4 characters add a "-"
strAdobeDecryptedKey = strAdobeDecryptedKey & "-"
end if
 
'Grab the next number from the adobe encrypted key. Add one to 'i' because it isn't base 0
j = mid (strAdobeEncryptedKey, i + 1, 1)
 
'Add one to J because it isn't base 0 and grab that numbers position in the cipher
k = mid (AdobeCipher(i), j + 1, 1)
strAdobeDecryptedKey = strAdobeDecryptedKey & k
 
Next
DecodeAdobeKey = strAdobeDecryptedKey
End Function

M4: Java Code to decrypt Serial:

public static String decrypt(String encryptedKey) {
    String[] AdobeCipher = { "0000000001", "5038647192", "1456053789", "2604371895", "4753896210", "8145962073",
            "0319728564", "7901235846", "7901235846", "0319728564", "8145962073", "4753896210", "2604371895",
            "1426053789", "5038647192", "3267408951", "5038647192", "2604371895", "8145962073", "7901235846",
            "3267408951", "1426053789", "4753896210", "0319728564" };

    String sAdobeDecryptedKey = "";
    for (int i = 0; i < 24; i++) {
        if (i % 4 == 0 && i > 0)
            sAdobeDecryptedKey += '-';
        String ndx=encryptedKey.substring(i, i+1);
        int tmp=Integer.parseInt(ndx);
        sAdobeDecryptedKey += AdobeCipher[i].substring(tmp, tmp+1);
    }
    return sAdobeDecryptedKey;
}

STEP 3: Download and Install the software with same serial

Download same version of the Adobe software that was install previously from the official Adobe repository using the links below:

Adobe 10, 11

Adobe 8, 9

Adobe 7 - Download for Adobe Professional and Standard version 7 and Serial key available here - The serial numbers provided as a part of the download may only be used by customers who legitimately purchased CS2 or Acrobat 7 and need to maintain their current use of these products. (Can download by using ANY Adobe ID to sign in - Not just the Adobe ID it was purchased under)

References:

JavaScript Code

PowerShell Code

VB Code

Everything about Adobe’s cache.db (well, not quite)

Find Your Adobe Acrobat Serial Number