#pragma once #include #include #include 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