mirror of
https://github.com/ufrisk/LeechCore.git
synced 2026-05-07 06:01:34 +08:00
49 lines
1.7 KiB
C
49 lines
1.7 KiB
C
// leechagent.h : definitions related to the leech agent.
|
|
//
|
|
// (c) Ulf Frisk, 2018-2026
|
|
// Author: Ulf Frisk, pcileech@frizk.net
|
|
//
|
|
#ifndef __LEECHAGENT_H__
|
|
#define __LEECHAGENT_H__
|
|
|
|
#include "oscompatibility.h"
|
|
|
|
#define LEECHSVC_NAME "LeechAgent"
|
|
#define LEECHSVC_DISPLAY_NAME "Leech Memory Acquisition Agent"
|
|
#define LEECHSVC_DESCR_LONG "The Leech Memory Acquisition Agent allows for LeechCore library users to connect remotely to the agent."
|
|
#define LEECHSVC_TCP_PORT_GRPC "28474"
|
|
#define LEECHSVC_LOCKFILE "/var/run/lock/leechagent.pid"
|
|
|
|
#define LEECHAGENT_CLIENTKEEPALIVE_MAX_CLIENTS 0x40
|
|
#define LEECHAGENT_CLIENTKEEPALIVE_TIMEOUT_MS 75*1000 // recommended to be less than LEECHAGENT_CHILDPROCESS_TIMEOUT_DEFAULT_MS
|
|
#define LEECHAGENT_CHILDPROCESS_TIMEOUT_MAX_MS 30*60*1000
|
|
#define LEECHAGENT_CHILDPROCESS_TIMEOUT_DEFAULT_MS 2*60*1000
|
|
|
|
#define LEECHGRPC_LIBRARY_NAME "libleechgrpc"LC_LIBRARY_FILETYPE
|
|
#define LEECHAGENT_CONFIG_FILE "leechagent_config.txt"
|
|
|
|
typedef struct tdLEECHAGENT_CONFIG {
|
|
BOOL fDaemon;
|
|
BOOL fNoLock;
|
|
BOOL fInteractive;
|
|
BOOL fInsecure;
|
|
CHAR szRemote[MAX_PATH];
|
|
CHAR szTcpPortGRPC[0x10];
|
|
HMODULE hModuleGRPC;
|
|
struct {
|
|
CHAR szCurrentDirectory[MAX_PATH];
|
|
CHAR szListenAddress[MAX_PATH];
|
|
CHAR szTlsClientCaCert[MAX_PATH];
|
|
CHAR szTlsServerP12[MAX_PATH];
|
|
CHAR szTlsServerP12Pass[MAX_PATH];
|
|
} grpc;
|
|
int fdLockFile;
|
|
} LEECHSVC_CONFIG, *PLEECHSVC_CONFIG;
|
|
|
|
/*
|
|
* Read arguments from a the config file 'leechagent_config.txt' into the config.
|
|
*/
|
|
VOID LeechSvc_ParseArgs_FromConfigFile(_In_ PLEECHSVC_CONFIG pConfig);
|
|
|
|
#endif /* __LEECHAGENT_H__ */
|