Component Diagrams
Details
Static architecture map of 52 files (c, h, py, sh) in 7 components: root, include: cJSON, bof/include, include: server, include: aes, include: config, include: aes_cfb. Structure is extracted statically without LLM calls; component prose may be enriched locally.
Relations
- root depends on include: cJSON — 11 imports, 0 calls across the boundary
- include: cJSON calls into root — 1 imports, 2 calls across the boundary
beacons/v3/beacon.c::_GNU_SOURCE@26 → beacon6.c::is_prime·beacons/v3/beacon.c::compute_primes@40 → beacon6.c::is_prime - include: cJSON depends on include: aes — 1 imports, 0 calls across the boundary
- include: cJSON depends on include: config — 1 imports, 0 calls across the boundary
- include: aes calls into root — 2 imports, 5 calls across the boundary
include/aes.c::__attribute__@57 → aes.c::Td0·include/aes.c::__attribute__@58 → aes.c::Td1·include/aes.c::__attribute__@59 → aes.c::Td2
root (1) [Expand]
root groups 10 files (c, h) around _AES_H_, CBC, ECB, CTR, AES256. tiny-AES-c (https://github.com/kokke/tiny-AES-c)
Related Classes/Methods:
aes.h::_AES_H_#L2-L8aes.h::CBC#L9-L11aes.h::ECB#L12-L14aes.h::CTR#L15-L17aes.h::AES256#L18-L19aes.h::AES_BLOCKLEN#L20-L22aes.h::AES_KEYLENaes.h::AES_keyExpSize#L24-L25
Sub-components
beacons (1.1)
beacons groups 1 files (c) around _GNU_SOURCE, C2, CLIENT_ID, MALEABLE, USER_AGENTS_COUNT. MemoryStruct: === ESTRUCTURAS ===
root (1.2)
root groups 9 files (c, h) around _AES_H_, CBC, ECB, CTR, AES256. tiny-AES-c (https://github.com/kokke/tiny-AES-c)
Files
aes.caes.hbeacon.hbeacon3.cbeacon5.cbeacon6.cbeacon_p2p.cbeacons/v1/gopher_beacon.cbof.cgopher_beacon.c
include: cJSON (2) [Expand]
include: cJSON groups 9 files (c, h) around BEACON_COMMON_H, _GNU_SOURCE, BSB_OUTPUT_BUFFER_DEFAULT, BSB_OUTPUT_TRUNCATION_MARKER, http_response_t.
Related Classes/Methods:
include/beacon_common.h::BEACON_COMMON_H#L13-L14include/beacon_common.h::_GNU_SOURCE#L15-L25include/beacon_common.h::BSB_OUTPUT_BUFFER_DEFAULTinclude/beacon_common.h::BSB_OUTPUT_TRUNCATION_MARKER#L27-L31include/beacon_common.h::http_response_t#L32-L38include/beacon_common.h::Trampoline#L39-L47include/beacon_common.h::SymbolResolver#L48-L53include/beacon_common.h::TrampolineCache#L54-L59
Sub-components
beacons (2.1)
beacons groups 3 files (c) around _GNU_SOURCE, report_result, execute_command, main, _GNU_SOURCE.
include (2.2)
include groups 4 files (c, h) around BEACON_COMMON_H, _GNU_SOURCE, BSB_OUTPUT_BUFFER_DEFAULT, BSB_OUTPUT_TRUNCATION_MARKER, http_response_t. MemoryStruct: if (g_cache_count >= g_cache_capacity) { size_t new_cap =...
root (2.3)
root groups 2 files (c, h) around cJSON__h, next, __WINDOWS__, CJSON_CDECL, CJSON_STDCALL. case_insensitive_strcmp: /* This is a safeguard to prevent copy-pasters from using...
Files
beacons/v1/beacon.cbeacons/v2/beacon.cbeacons/v3/beacon.ccJSON.ccJSON.hinclude/beacon_common.cinclude/beacon_common.hinclude/cJSON.cinclude/cJSON.h
bof/include (3)
bof/include groups 7 files (c, h) around go, BSB_BOF_BEACON_API_H, CALLBACK_OUTPUT, CALLBACK_ERROR, CALLBACK_OUTPUT_OEM. datap: Argument parser.
Related Classes/Methods:
bof/include/beacon_api.h::go#L10-L16bof/include/beacon_api.h::BSB_BOF_BEACON_API_H#L17-L23bof/include/beacon_api.h::CALLBACK_OUTPUTbof/include/beacon_api.h::CALLBACK_ERRORbof/include/beacon_api.h::CALLBACK_OUTPUT_OEM#L26-L29bof/include/beacon_api.h::datap#L30-L35bof/include/beacon_api.h::BeaconDataParsebof/include/beacon_api.h::BeaconDataPtr
Files
bof/cat/bof.cbof/include/beacon_api.hbof/include/syscalls.hbof/is_sudo/bof.cbof/suid_enum/bof.cbof/userenum/bof.cbof/whoami/bof.c
include: server (4)
include: server groups 3 files (py) around _deep_merge, load_config, load_runtime_config, compute_hmac, verify_hmac. Black Sand Beacon C2 Server Gopher-style command and control server for Black Sand...
Related Classes/Methods:
include/config_py.py::_deep_merge#L55-L64include/config_py.py::load_config#L65-L83c2/server.py::load_runtime_config#L60-L86c2/server.py::compute_hmac#L87-L91c2/server.py::verify_hmac#L92-L97c2/server.py::encrypt_data#L98-L117c2/server.py::decrypt_data#L118-L136c2/server.py::C2State#L137-L139
Files
c2/server.pyinclude/config_py.pytests/test_c2_server.py
include: aes (5)
include: aes groups 3 files (c, h) around _AES_H_, CBC, ECB, CTR, AES256. tiny-AES-c (https://github.com/kokke/tiny-AES-c)
Related Classes/Methods:
include/aes.h::_AES_H_#L2-L8include/aes.h::CBC#L9-L11include/aes.h::ECB#L12-L14include/aes.h::CTR#L15-L17include/aes.h::AES256#L18-L19include/aes.h::AES_BLOCKLEN#L20-L22include/aes.h::AES_KEYLENinclude/aes.h::AES_keyExpSize#L24-L25
Files
include/aes.cinclude/aes.hinclude/aes_cfb.c
include: config (6)
include: config groups 3 files (c, h) around BSB_CONFIG_H, BSB_CONFIG_PATH_DEFAULT, BSB_CONFIG_PATH_ENV, BSB_MAX_URL, BSB_MAX_URI. slurp: declared in the schema.
Related Classes/Methods:
include/config.h::BSB_CONFIG_H#L14-L18include/config.h::BSB_CONFIG_PATH_DEFAULTinclude/config.h::BSB_CONFIG_PATH_ENVinclude/config.h::BSB_MAX_URLinclude/config.h::BSB_MAX_URIinclude/config.h::BSB_MAX_CLIENT_IDinclude/config.h::BSB_AES_KEY_HEX_LENinclude/config.h::BSB_AES_KEY_BYTES
Files
include/config.cinclude/config.htests/config_harness.c
include: aes_cfb (7)
include: aes_cfb groups 2 files (c, h) around BSB_AES_CFB_H, aes256_cfb_encrypt, aes256_cfb_decrypt, hex_to_bytes, main.
Related Classes/Methods:
include/aes_cfb.h::BSB_AES_CFB_H#L5-L8include/aes_cfb.h::aes256_cfb_encrypt#L9-L10include/aes_cfb.h::aes256_cfb_decrypt#L11-L14tests/crypto_harness.c::hex_to_bytes#L12-L22tests/crypto_harness.c::main#L23-L73
Files
include/aes_cfb.htests/crypto_harness.c