Azathoth_core
azathoth_core provides low-level, platform-specific definitions and utilities used across the Azathoth c2 framework
It serves a no_std-compatible layer, containing:
- Platform-specific structs, constants and type definitions for Windows and Linux
- A
crc32lookup table for fast hashing - The
AzErrortrait error interface shared across the rest of the Azathoth Crates
[!WARNING] This project is still in active development and may change at any time!
Installation
- Manually, via
Cargo.toml:azathoth_core = "0.1.0" - Using the
cargocli:cargo add azathoth_core
Supported Platform Definitions
The following structs (and related types) are included:
- Windows:
Guid- Windows Internals:
TEB(Thread Environment Block)PEB(Process Environment Block)RTL_USER_PROCESS_PARAMETERSUNICODE_STRINGLIST_ENTRYLDR_DATA_TABLE_ENTRYPEB_LDR_DATA
- PE/COFF structures:
IMAGE_DOS_HEADERIMAGE_NT_HEADERS64IMAGE_FILE_HEADERIMAGE_OPTIONAL_HEADER64IMAGE_DATA_DIRECTORYIMAGE_EXPORT_DIRECTORYIMAGE_SECTION_HEADERIMAGE_BASE_RELOCATIONIMAGE_IMPORT_DESCRIPTORIMAGE_IMPORT_DESCRIPTOR_0(union)IMAGE_THUNK_DATA64IMAGE_THUNK_DATA64_0(union)IMAGE_IMPORT_BY_NAMEIMAGE_TLS_DIRECTORY64
URL_COMPONENTSARUNTIME_FUNCTION
- Linux:
Elf64Ehdr(ELF64 File header)Elf64Dyn(ELF64 dynamic table entry)Elf64Rela(ELF64 Relocation entries)Elf64Sym(Symbol table entry)Elf64Phdr(ELF64 Program header)Elf64Shdr(ELF64 section header)