StringExtractor
Namespace: Dotsider.Core.Analysis
Assembly: Dotsider.Core.dll
Extracts strings from .NET assemblies across three sources: the #US heap (user string literals), the #Strings heap (metadata identifiers), and raw printable character sequences from the binary.
public sealed class StringExtractorInheritance
Section titled “Inheritance”Object → StringExtractor
Constructors
Section titled “Constructors”StringExtractor(AssemblyAnalyzer)
Section titled “StringExtractor(AssemblyAnalyzer)”Extracts strings from .NET assemblies across three sources: the #US heap (user string literals), the #Strings heap (metadata identifiers), and raw printable character sequences from the binary.
Parameters:
analyzer(AssemblyAnalyzer):
public StringExtractor(AssemblyAnalyzer analyzer)Properties
Section titled “Properties”SkippedMetadataStringCount
Section titled “SkippedMetadataStringCount”Number of malformed entries skipped during the last ExtractMetadataStrings call.
Returns: Int32
public int SkippedMetadataStringCount { get; }SkippedUserStringCount
Section titled “SkippedUserStringCount”Number of malformed entries skipped during the last ExtractUserStrings call.
Returns: Int32
public int SkippedUserStringCount { get; }Methods
Section titled “Methods”ExtractMetadataStrings()
Section titled “ExtractMetadataStrings()”Extracts all identifier strings from the #Strings metadata heap. These are type names, method names, namespace names, and other metadata identifiers.
Returns: IReadOnlyList<StringEntry>
A list of string entries from the metadata strings heap.
public IReadOnlyList<StringEntry> ExtractMetadataStrings()ExtractRawStrings(int)
Section titled “ExtractRawStrings(int)”Extracts raw printable character sequences from the binary file. Scans for consecutive ASCII printable characters (0x20-0x7E) of at least minLength bytes.
Parameters:
minLength(Int32): The minimum number of consecutive printable characters to consider a string.
Returns: IReadOnlyList<StringEntry>
A list of string entries extracted from the raw binary.
public IReadOnlyList<StringEntry> ExtractRawStrings(int minLength = 4)ExtractUserStrings()
Section titled “ExtractUserStrings()”Extracts all user string literals from the #US metadata heap.
These are the string constants used in IL code via ldstr.
Returns: IReadOnlyList<StringEntry>
A list of string entries from the user strings heap.
public IReadOnlyList<StringEntry> ExtractUserStrings()