Decrypting Stored Password on PL/SQL Developer

Hambone picture Hambone · Aug 13, 2018 · Viewed 12.9k times · Source

When you save connection details on All Around Automation's PL/SQL Developer, the password is encrypted as follows:

DisplayName=Oracle Production
IsFolder=0
Number=7
Parent=2
Username=user
Database=db_host:1521/db_name
ConnectAs=Normal
Edition=
Workspace=
AutoConnect=0
ConnectionMatch=536870911
Password=2578502833104824427441244294443234184532
IdentifiedExt=0
Color=65535

Some of these connections were entered years ago, and I can't track down the passwords. Does anyone know how to decode the encrypted strings above into the actual passwords?

Answer

Gera picture Gera · Oct 31, 2018

The password is Z2Logis1z . I used the following C# code to decrypt, and you can read about it here

https://adamcaudill.com/2016/02/02/plsql-developer-nonexistent-encryption/

using System;
using System;
using System.Collections.Generic;
using System.IO;

public class Program
{
  public static void Main()
  {
    var values = new List<int>();
        var ret = string.Empty;
    string scrambled= "2578502833104824427441244294443234184532";

        for (var i = 0; i < scrambled.Length; i += 4)
        {
            values.Add(Convert.ToInt32(scrambled.Substring(i, 4)));
        }

        var key = values[0];
        values.RemoveAt(0);
        for (var i = 0; i < values.Count; i++)
        {
            var val = values[i] - 1000;
            var mask = key + (10 * (i + 1));

            ret += (char)((val ^ mask) >> 4);
        }

    Console.WriteLine(ret);

  }
}