I want to iterate through the values of a specific path and read them. I tried this
Code updated
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\IntelliForms\Storage2", true);
        var names = key.GetValueNames();
        for (int i = 0; i < names.Length; i++)
            {
                Console.WriteLine(names[i]);
                byte[] test = ObjectToByteArray(key.GetValue(names[i]));
                var value = Convert.ToBase64String(test);
                Console.WriteLine(value);
            };
Normally the string value should be an encrypted binary.
Update: So as @Peter Lillevold suggested I had to convert the array of bytes into a string.
To do so, I created this small function to convert the object key.GetValue into an array of bytes
public static byte[] ObjectToByteArray(Object obj)
        {
            if (obj == null)
                return null;
            BinaryFormatter Binaryform = new BinaryFormatter();
            MemoryStream MemStream = new MemoryStream();
            Binaryform.Serialize(MemStream, obj);
            return MemStream.ToArray();
        }
and then converted to a string as @Peter suggested.
So after the convertion of the array of bytes it is supposed to return me a string of binary. What I get is some weird combination of letters and digits but it is not binary.
Any help on this?
 
     
    