AtlasC2/Implant/Utils/ImplantOptionUtils.cs

35 lines
1.1 KiB
C#
Raw Normal View History

2021-12-26 17:40:51 -08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Implant.Models;
using Newtonsoft.Json;
using static Implant.JSON.Classes;
using static Implant.Models.ImplantTaskData;
namespace Implant.Utils
{
2022-03-24 15:21:04 -07:00
public class ImplantOptionUtils {
public static void OptsInit() {
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes()) {
if (type.IsSubclassOf(typeof(ImplantOptions))) {
2021-12-26 17:40:51 -08:00
ImplantOptions function = Activator.CreateInstance(type) as ImplantOptions;
_opts.Add(function);
}
}
}
2022-03-24 15:21:04 -07:00
public static List<Object> ReturnMethod(ImplantTask task) {
2021-12-26 17:40:51 -08:00
if (_opts.Count == 0) { OptsInit(); }
ImplantOptions opt = _opts.FirstOrDefault(u => u.TaskName.Equals(task.Command, StringComparison.InvariantCultureIgnoreCase));
return opt.Data;
}
2022-03-24 15:21:04 -07:00
public static ArgsRecv ParseArgs(string jsonData){ return JsonConvert.DeserializeObject<ArgsRecv>(jsonData); }
2021-12-26 17:40:51 -08:00
}
}