Cargo Features

[dependencies]
threatflux-binary-analysis = { version = "0.2.0", default-features = false, features = ["elf", "pe", "macho", "java", "wasm", "disasm-capstone", "disasm-iced", "control-flow", "entropy-analysis", "symbol-resolution", "compression", "visualization", "serde-support"] }

Binary format support

default = elf, java, macho, pe

These default features are set whenever threatflux-binary-analysis is added without default-features = false somewhere in the dependency tree.

elf default

Enables elf32, elf64, endian_fd and std of goblin

Binary parsing

Affects formats::elf

pe default

Enables endian_fd, pe32, pe64 and std of goblin

Affects formats::pe

macho default

Enables endian_fd, mach32, mach64 and std of goblin

Affects formats::macho

java default = zip

Enables archive, endian_fd and std of goblin

Affects formats::java

wasm = wasmparser

Affects formats::wasm

disasm-capstone control-flow? = capstone

Disassembly engines

Affects threatflux-binary-analysis::disasm, threatflux-binary-analysis::AnalysisConfig.disassembly_engine

disasm-iced = iced-x86

Affects threatflux-binary-analysis::disasm, threatflux-binary-analysis::AnalysisConfig.disassembly_engine

control-flow = disasm-capstone, petgraph

Analysis features

Affects analysis::control_flow, analysis::call_graph

entropy-analysis = statrs

Affects analysis::entropy

symbol-resolution = addr2line, gimli

Affects analysis::symbols, symbols::demangle_symbols

compression = flate2

Optional features

Affects compression::decompress, utils::compression

visualization = dot-generator

Affects analysis::visualization, visualization::cfg_to_dot

serde-support = serde, serde_json

Affects utils::serde_utils, serde_utils::to_json, serde_utils::from_json

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

capstone disasm-capstone?

Enables capstone ^0.13

Disassembly engines (optional)

iced-x86 disasm-iced?
wasmparser wasm?

Enables wasmparser ^0.236

WASM support (optional)

petgraph control-flow?

Enables petgraph ^0.6

Control flow analysis (optional)

statrs entropy-analysis?

Enables statrs

Statistical analysis (optional)

gimli symbol-resolution?

Enables gimli ^0.31

Symbol resolution (optional)

addr2line symbol-resolution?

Enables addr2line ^0.24

flate2 compression?

Enables flate2

Utilities (optional)

dot-generator visualization?
serde serde-support?
serde_json serde-support?
zip java

Enables zip ^0.6