mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-23 03:46:10 +00:00
86 lines
2.9 KiB
C#
86 lines
2.9 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: Microsoft.InfoCards.DisplayToken
|
|||
|
// Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
|
|||
|
// MVID: 516D8B44-4448-4D2C-8B8E-FFBB3FFE472B
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Expiro.w-69bb73081eac86b8cf86f45e33515d0095855636967076e2b593d7a30cd80a07.exe
|
|||
|
|
|||
|
using Microsoft.InfoCards.Diagnostics;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.IO;
|
|||
|
|
|||
|
namespace Microsoft.InfoCards
|
|||
|
{
|
|||
|
internal class DisplayToken
|
|||
|
{
|
|||
|
private string m_displayString;
|
|||
|
private string m_mimeType;
|
|||
|
private List<DisplayClaim> m_displayList;
|
|||
|
private DisplayClaimType m_displayType;
|
|||
|
|
|||
|
public IEnumerable<DisplayClaim> ClaimList => (IEnumerable<DisplayClaim>) this.m_displayList;
|
|||
|
|
|||
|
public DisplayToken() => this.m_displayType = DisplayClaimType.NoDisplayToken;
|
|||
|
|
|||
|
public DisplayToken(string displayString, string mimeType)
|
|||
|
{
|
|||
|
this.m_displayString = displayString;
|
|||
|
this.m_mimeType = mimeType;
|
|||
|
this.m_displayType = DisplayClaimType.DisplayClaimString;
|
|||
|
}
|
|||
|
|
|||
|
public DisplayToken(List<DisplayClaim> claimList)
|
|||
|
{
|
|||
|
this.m_displayList = claimList;
|
|||
|
this.m_displayType = DisplayClaimType.DisplayClaimList;
|
|||
|
}
|
|||
|
|
|||
|
public void Serialize(BinaryWriter writer)
|
|||
|
{
|
|||
|
writer.Write((byte) this.m_displayType);
|
|||
|
switch (this.m_displayType)
|
|||
|
{
|
|||
|
case DisplayClaimType.NoDisplayToken:
|
|||
|
break;
|
|||
|
case DisplayClaimType.DisplayClaimString:
|
|||
|
Utility.SerializeString(writer, this.m_displayString);
|
|||
|
Utility.SerializeString(writer, this.m_mimeType);
|
|||
|
break;
|
|||
|
case DisplayClaimType.DisplayClaimList:
|
|||
|
writer.Write((uint) this.m_displayList.Count);
|
|||
|
using (List<DisplayClaim>.Enumerator enumerator = this.m_displayList.GetEnumerator())
|
|||
|
{
|
|||
|
while (enumerator.MoveNext())
|
|||
|
enumerator.Current.Serialize(writer);
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
InfoCardTrace.ThrowInvalidArgumentConditional(true, "ClaimType");
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void Deserialize(BinaryReader reader)
|
|||
|
{
|
|||
|
this.m_displayType = (DisplayClaimType) reader.ReadByte();
|
|||
|
switch (this.m_displayType)
|
|||
|
{
|
|||
|
case DisplayClaimType.NoDisplayToken:
|
|||
|
break;
|
|||
|
case DisplayClaimType.DisplayClaimString:
|
|||
|
this.m_displayString = Utility.DeserializeString(reader);
|
|||
|
this.m_mimeType = Utility.DeserializeString(reader);
|
|||
|
break;
|
|||
|
case DisplayClaimType.DisplayClaimList:
|
|||
|
this.m_displayList.Clear();
|
|||
|
uint num = reader.ReadUInt32();
|
|||
|
for (uint index = 0; index < num; ++index)
|
|||
|
this.m_displayList.Add(new DisplayClaim(reader));
|
|||
|
break;
|
|||
|
default:
|
|||
|
throw InfoCardTrace.ThrowHelperError((Exception) new InvalidOperationException(SR.GetString("InvalidDisplayClaimType")));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|