Cargo Features
[dependencies]
lancelot = { version = "0.9.7", default-features = false, features = ["test", "flirt", "emulator", "disassembler"] }
- default = disassembler, flirt
-
These default features are set whenever
lancelot
is added without
somewhere in the dependency tree.default-features = false - test = emulator, fern
-
The reason we do this is because doctests don't get cfg(test) See: https://github.com/rust-lang/cargo/issues/4669
- flirt default = disassembler, lancelot-flirt
-
Affects
analysis::flirt
… - emulator test? = zydis
- disassembler default flirt = zydis
-
Affects
analysis::cfg
,analysis::dis
,analysis::heuristics
,pe::call_targets
,pe::noret_imports
,pe::find_thunks
,pe::find_functions
,pe::find_function_starts
,test::read_insn
…
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.
- zydis disassembler emulator?
-
Enables zydis ^3.1.3
- fern test?
-
Enables fern
fern is only needed by tests, but because of the need for a feature named test, they also have to be optional dependencies as well.
- lancelot-flirt flirt
-
Enables lancelot-flirt
needed for flirt