Expand description
codedefender-config
provides the Rust data structures used for serializing and deserializing
CodeDefender YAML configuration files and analysis results. These structures are used by both
the CodeDefender CLI and its backend services.
This crate is intended to be consumed by tools that integrate with or generate CodeDefender config files.
Structs§
- Analysis
Function - Information about a single function found during analysis.
- Analysis
Macro Profile - Grouping of functions under a named macro profile.
- Analysis
Reject - Reason why a function was rejected from analysis.
- Analysis
Result - Results from binary analysis, returned to the frontend.
- Assembler
Settings - Assembler-level codegen settings.
- BitWidths
- Bit widths to apply transformations to.
- CDCompiler
Settings - Compiler configuration (IR + codegen) for a profile.
- CDConfig
- Top-level config file structure.
- CDModule
Settings - Global obfuscation settings for the module.
- CDProfile
- Profile definition used to apply passes to symbols.
- Custom
Section Name - Custom
.text
section name override. - Fake
PdbString - Fake PDB string settings to confuse debuggers.
- IDADecompiler
Crasher - Pass that crashes IDA’s decompiler.
- Lifter
Settings - Configuration settings for lifting x86 instructions into IR.
- Loop
Encode Semantics - Configuration for the Loop Encode Semantics pass.
- Mixed
Boolean Arithmetic - Configuration for Mixed Boolean Arithmetic pass.
- Mutation
Engine - Configuration for Mutation Engine pass.
- Obscure
Constants - Constant obfuscation pass.
- Obscure
Control Flow - Control-flow obfuscation pass.
- Obscure
References - Memory reference obfuscation pass.
- Optimization
Settings - IR optimization settings.
- Semantics
- Instruction-level semantics used in transformations.
- Tether
Extraction - Tether extraction pass.
- Yaml
Config - Root YAML config structure.
- Yaml
Profile - Obfuscation profile for YAML configuration.
Enums§
- Mutation
Engine Extension - Available SIMD extension types used by mutation engines.
- Obfuscation
Pass - All possible obfuscation passes.
- PeEnvironment
- Supported PE environments.
- Yaml
Symbol - Symbol representation used in YAML: either name or RVA.
Constants§
- YAML_
CONFIG_ VERSION - Current supported YAML config version.