mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
f2ac1ece55
add
178 lines
5.7 KiB
C#
178 lines
5.7 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: WindowsApplication1.My.InternalXmlHelper
|
|
// Assembly: Java Windows Environment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
|
// MVID: 097830FC-95C1-47F2-9E79-8207C0E28B1C
|
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Trojan-Dropper.Win32.Injector.dmsv-fde9e07062bacdce7fa9d31f039f393916e1be165ce49510d41be6dfd2b59512.exe
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Xml.Linq;
|
|
|
|
namespace WindowsApplication1.My
|
|
{
|
|
[CompilerGenerated]
|
|
[DebuggerNonUserCode]
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
internal sealed class InternalXmlHelper
|
|
{
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
private InternalXmlHelper()
|
|
{
|
|
}
|
|
|
|
public static string get_Value(IEnumerable<XElement> source)
|
|
{
|
|
IEnumerator<XElement> enumerator;
|
|
try
|
|
{
|
|
enumerator = source.GetEnumerator();
|
|
if (enumerator.MoveNext())
|
|
return enumerator.Current.Value;
|
|
}
|
|
finally
|
|
{
|
|
enumerator?.Dispose();
|
|
}
|
|
return (string) null;
|
|
}
|
|
|
|
public static void set_Value(IEnumerable<XElement> source, string value)
|
|
{
|
|
IEnumerator<XElement> enumerator;
|
|
try
|
|
{
|
|
enumerator = source.GetEnumerator();
|
|
if (!enumerator.MoveNext())
|
|
return;
|
|
enumerator.Current.Value = value;
|
|
}
|
|
finally
|
|
{
|
|
enumerator?.Dispose();
|
|
}
|
|
}
|
|
|
|
public static string get_AttributeValue(IEnumerable<XElement> source, XName name)
|
|
{
|
|
IEnumerator<XElement> enumerator;
|
|
try
|
|
{
|
|
enumerator = source.GetEnumerator();
|
|
if (enumerator.MoveNext())
|
|
return (string) enumerator.Current.Attribute(name);
|
|
}
|
|
finally
|
|
{
|
|
enumerator?.Dispose();
|
|
}
|
|
return (string) null;
|
|
}
|
|
|
|
public static void set_AttributeValue(IEnumerable<XElement> source, XName name, string value)
|
|
{
|
|
IEnumerator<XElement> enumerator;
|
|
try
|
|
{
|
|
enumerator = source.GetEnumerator();
|
|
if (!enumerator.MoveNext())
|
|
return;
|
|
enumerator.Current.SetAttributeValue(name, (object) value);
|
|
}
|
|
finally
|
|
{
|
|
enumerator?.Dispose();
|
|
}
|
|
}
|
|
|
|
public static string get_AttributeValue(XElement source, XName name) => (string) source.Attribute(name);
|
|
|
|
public static void set_AttributeValue(XElement source, XName name, string value) => source.SetAttributeValue(name, (object) value);
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public static XAttribute CreateAttribute(XName name, object value) => value == null ? (XAttribute) null : new XAttribute(name, RuntimeHelpers.GetObjectValue(value));
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public static XAttribute CreateNamespaceAttribute(XName name, XNamespace ns)
|
|
{
|
|
XAttribute namespaceAttribute = new XAttribute(name, (object) ns.NamespaceName);
|
|
namespaceAttribute.AddAnnotation((object) ns);
|
|
return namespaceAttribute;
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public static object RemoveNamespaceAttributes(XNamespace[] ns, object obj)
|
|
{
|
|
if (ns != null && obj != null)
|
|
{
|
|
switch (obj)
|
|
{
|
|
case XElement e:
|
|
// ISSUE: reference to a compiler-generated method
|
|
return (object) InternalXmlHelper.RemoveNamespaceAttributes(ns, e);
|
|
case IEnumerable enumerable:
|
|
// ISSUE: reference to a compiler-generated method
|
|
return (object) InternalXmlHelper.RemoveNamespaceAttributes(ns, enumerable);
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public static IEnumerable RemoveNamespaceAttributes(XNamespace[] ns, IEnumerable obj)
|
|
{
|
|
if (ns == null || obj == null)
|
|
return obj;
|
|
// ISSUE: object of a compiler-generated type is created
|
|
// ISSUE: reference to a compiler-generated method
|
|
// ISSUE: object of a compiler-generated type is created
|
|
// ISSUE: reference to a compiler-generated method
|
|
return obj is IEnumerable<XElement> source ? (IEnumerable) source.Select<XElement, XElement>(new Func<XElement, XElement>(new InternalXmlHelper.RemoveNamespaceAttributesClosure(ns).ProcessXElement)) : (IEnumerable) obj.Cast<object>().Select<object, object>(new Func<object, object>(new InternalXmlHelper.RemoveNamespaceAttributesClosure(ns).ProcessObject));
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public static XElement RemoveNamespaceAttributes(XNamespace[] ns, XElement e)
|
|
{
|
|
XAttribute nextAttribute;
|
|
if (ns != null && e != null)
|
|
{
|
|
for (XAttribute xattribute = e.FirstAttribute; xattribute != null; xattribute = nextAttribute)
|
|
{
|
|
nextAttribute = xattribute.NextAttribute;
|
|
if (xattribute.IsNamespaceDeclaration)
|
|
{
|
|
XNamespace xnamespace = xattribute.Annotation<XNamespace>();
|
|
if ((object) xnamespace != null)
|
|
{
|
|
int num = checked (ns.Length - 1);
|
|
int index = 0;
|
|
while (index <= num)
|
|
{
|
|
if (xnamespace == ns[index])
|
|
{
|
|
xattribute.Remove();
|
|
break;
|
|
}
|
|
checked { ++index; }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return e;
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public static XNamespace GetNamespace(ref XNamespace xns, string ns)
|
|
{
|
|
if ((object) xns == null)
|
|
xns = XNamespace.Get(ns);
|
|
return xns;
|
|
}
|
|
}
|
|
}
|