Converts encrypted Adobe product keys found in the registry to keys used to install.  Useful when refreshing a PC to find the key used to install the software on the old computer.

4.6 Star
6,322 times
Add to favorites
E-mail Twitter Digg Facebook
Sign in to ask a question

  • regarding [CmdletBinding()]
    1 Posts | Last post January 30, 2018
    • Is there a need for [CmdletBinding()] in the code? It throws an error at Powershell when the code is run and does not appear to facilitate the any necessary steps.
  • What if I can't find my encrypted key?
    2 Posts | Last post January 30, 2018
    • Hi Lizaoreo,
      Your script is very useful from what I can see and I would really like to use it as I am using Adobe 2015 on a few computers and it would save me a lot of money to retrieve the license.
      I am struggling with actually finding the license on the HKEY path you provided. I have tried both paths and looked through all the Adobe related folders that are in there and can't find anything that even sort of looks like an adobe license. Or what looks to be an encrypted Adobe license as I wouldn't even know what I am looking for.
      Could you perhaps guide me in the right direction to help me solve this issue please?
    • Best method below (taken from
      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.
  • No Output Either?
    3 Posts | Last post April 08, 2017
    • I am using Adobe 10 and I do not get any results. I have tried all the options listed below. Why does this not work? Is the encrypted serial number input anywhere in the script or do you just pass it as it is listed in the example? I see the parameter option but do not know where it should be entered if at all.
    • Hey bardman, been a long time since I worked with this script, but it still seems to be working for me.  I'm assuming you already have the encrypted number from the registry (you'll have to fetch that yourself).  All you should need to do is open a PowerShell console window, copy the entire code section from the description tab here, paste it in the console and press enter.  Then type ConvertFrom-Enc <tab>.  If done correctly, that should autocomplete to ConvertFrom-EncryptedAdobeKey.  From there, press space and paste your encrypted key.  Hit enter and it should output the actual key underneath.
      If you're still having issues though, let me know.
    • And now I've updated the post to correct what I believe caused issues for the other two people that asked questions.  If you want to use it as a script, just download the newly updated code and run using the download button on technet.  If you want to run it as a function, copy/paste and uncomment the first line and last line (remove the # at the beginning).
  • Where do you input the serial?
    2 Posts | Last post April 08, 2017
    • Sorry if this is obvious but I've tried running this script and cannot get any output or get errors if I insert the script:
      PS C:\Users\xxxx> function ConvertFrom-EncryptedAdobeKey.ps1 XXXXXXXXXEncryptedSerialXXXX {
      Missing function body in function declaration.
      At line:1 char:44
      + function ConvertFrom-EncryptedAdobeKey.ps1  <<<< XXXXXXXXXEncryptedSerialXXXX {
          + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
          + FullyQualifiedErrorId : MissingFunctionBody
      I've tried inputing the serial a few other places but either get no results or the same error as above. Goes without stating that I am not very familiar with powershell.
    • Ok, really late replying to this since I just saw it, but if you're going to save it as a script, get rid of the function line and the last closing curly brace "}".  Then you'd run it like any other script.  If you just save what I have as a script and run it, it's just creating a function instead of running the commands.  You can do it that way as well though, run the script and then run the function.  Function would be run just by typing ConvertFrom-EncryptedAdobeKey ####EncryptedSerial####.
  • Script produces no output
    4 Posts | Last post August 03, 2016
    • When I run this script I do not get any output at all, just a return to the PS prompt. What am I doing wrong?
    • Did you pass the encrypted key from the registry as input?  If so, what version of Adobe's software are you using?
    • I've tried this script and it also just returns a PS prompt with no output. 
      I've tried running: C:\PS> ConvertFrom-EncryptedAdobeKey.ps1 
      and I've tried: C:\PS> ConvertFrom-EncryptedAdobeKey.ps1 (serialnumber from registry)
      Both merely return a PS prompt with no error messages and no output.
      Windows Vista X86 OS
      Adobe Acrobat 9 Standard
    • SOLUTION BELOW: I believe the OP forgot to put '' marks around his string array for the Adobe Cipher. I can confirm with my registry S/N that this decrypted well. Thanks.
      $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 ++