Move command registry from components/command/ into components/core/. New modules: mod_canbus, mod_honeypot, mod_fallback, mod_redteam, mod_ota. Replace mod_proxy with tun_core (multiplexed SOCKS5 tunnel). Kconfig extended with per-module settings and async worker config.
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
/*
|
|
* canbus_fuzz.h
|
|
* CAN bus fuzzing engine — ID scan, data mutation, random injection, UDS auth brute-force.
|
|
*/
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum {
|
|
FUZZ_MODE_ID_SCAN, /* Iterate all CAN IDs, fixed payload */
|
|
FUZZ_MODE_DATA_MUTATE, /* Fixed ID, mutate data bytes systematically */
|
|
FUZZ_MODE_RANDOM, /* Random ID + random data */
|
|
FUZZ_MODE_UDS_AUTH, /* Brute-force UDS SecurityAccess keys */
|
|
} fuzz_mode_t;
|
|
|
|
typedef struct {
|
|
fuzz_mode_t mode;
|
|
uint32_t id_start, id_end; /* For ID_SCAN range */
|
|
uint32_t target_id; /* For DATA_MUTATE / UDS_AUTH */
|
|
int delay_ms; /* Inter-frame delay */
|
|
int max_iterations; /* 0 = unlimited */
|
|
uint8_t seed_data[8]; /* Initial data for mutation */
|
|
uint8_t seed_dlc; /* DLC for seed data */
|
|
} fuzz_config_t;
|
|
|
|
/* Start fuzzing in background task. request_id for C2 streaming. */
|
|
bool can_fuzz_start(const fuzz_config_t *cfg, const char *request_id);
|
|
|
|
/* Stop fuzzing */
|
|
void can_fuzz_stop(void);
|
|
|
|
/* Check if fuzzing is active */
|
|
bool can_fuzz_is_running(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|