Beispiel #1
0
    // Token: 0x06000086 RID: 134 RVA: 0x00009A9C File Offset: 0x00007C9C
    public static string ReturnRegistry(int type, string directory)
    {
        string text = string.Empty;

        if (HandleRegistry.ReturnSubKey(directory, type) != null)
        {
            RegistryKey registryKey = HandleRegistry.ReturnSubKey(directory, type);
            foreach (string str in registryKey.GetSubKeyNames())
            {
                text = text + str + "◇";
                foreach (string text2 in registryKey.GetValueNames())
                {
                    text = text + text2 + "◆";
                    switch (registryKey.GetValueKind(text2))
                    {
                    case RegistryValueKind.Unknown:
                        text += "Uknown◆";
                        break;

                    case RegistryValueKind.String:
                        text += "REG_SZ◆";
                        break;

                    case RegistryValueKind.ExpandString:
                        text += "REG_EXPAND_SZ◆";
                        break;

                    case RegistryValueKind.Binary:
                        text += "REG_BINARY◆";
                        break;

                    case RegistryValueKind.DWord:
                        text += "REG_DWORD◆";
                        break;

                    case RegistryValueKind.MultiString:
                        text += "REG_MULTI_SZ◆";
                        break;

                    case RegistryValueKind.QWord:
                        text += "REG_QWORD◆";
                        break;
                    }
                    if (Operators.CompareString(registryKey.GetValue(text2).GetType().Name, "Byte[]", false) != 0)
                    {
                        text = text + registryKey.GetValue(text2).ToString() + "◆";
                    }
                    else
                    {
                        text = text + HandleRegistry.Bytes_To_String((byte[])registryKey.GetValue(text2)) + "◆";
                    }
                }
            }
            if (registryKey.GetSubKeyNames().Length == 0)
            {
                foreach (string text3 in registryKey.GetValueNames())
                {
                    text = text + text3 + "◆";
                    switch (registryKey.GetValueKind(text3))
                    {
                    case RegistryValueKind.Unknown:
                        text += "Uknown◆";
                        break;

                    case RegistryValueKind.String:
                        text += "REG_SZ◆";
                        break;

                    case RegistryValueKind.ExpandString:
                        text += "REG_EXPAND_SZ◆";
                        break;

                    case RegistryValueKind.Binary:
                        text += "REG_BINARY◆";
                        break;

                    case RegistryValueKind.DWord:
                        text += "REG_DWORD◆";
                        break;

                    case RegistryValueKind.MultiString:
                        text += "REG_MULTI_SZ◆";
                        break;

                    case RegistryValueKind.QWord:
                        text += "REG_QWORD◆";
                        break;
                    }
                    if (Operators.CompareString(registryKey.GetValue(text3).GetType().Name, "Byte[]", false) != 0)
                    {
                        text = text + registryKey.GetValue(text3).ToString() + "◆";
                    }
                    else
                    {
                        text = text + HandleRegistry.Bytes_To_String((byte[])registryKey.GetValue(text3)) + "◆";
                    }
                }
            }
            registryKey.Close();
            return(text);
        }
        return(null);
    }