mirror of
https://github.com/AbishekPonmudi/Dynloader
synced 2026-07-15 03:39:09 +00:00
36 lines
826 B
C++
36 lines
826 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <cstdint>
|
|
#include <iostream>
|
|
|
|
namespace Cli {
|
|
|
|
enum class Mode {
|
|
Normal,
|
|
Encrypt,
|
|
Fileless,
|
|
Server,
|
|
Help,
|
|
Banner
|
|
};
|
|
|
|
struct Options {
|
|
Mode mode = Mode::Help;
|
|
std::string inputPath;
|
|
std::string sourceHost;
|
|
std::string processTarget; // --process name or PID (remote ingestion)
|
|
std::uint16_t sourcePort = 8080; /// kept default post as 8080
|
|
bool useAes = false;
|
|
std::uint16_t serverPort = 8080;
|
|
bool verbose = false; // loader channel (--verbose on load/fileless/enc)
|
|
bool remoteIngestion = false;
|
|
bool server_verbose = false; // server channel (--server ... --verbose)
|
|
};
|
|
|
|
bool IsVerboseFlag(const char* arg);
|
|
Options Parse(int argc, char* argv[]);
|
|
void PrintUsage();
|
|
void PrintBanner();
|
|
|
|
} // namespace Cli
|