Cargo Features
[dependencies]
lancelot = { version = "0.8.6", default-features = false, features = ["test", "flirt", "emulator", "disassembler"] }
- default = disassembler, emulator, flirt
-
These default features are set whenever
lancelot
is added without
somewhere in the dependency tree.default-features = false - test = chrono, 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 default test? = bitvec, zydis
-
Affects
lancelot::emu
… - disassembler default flirt = zydis
-
Affects
analysis::cfg
,analysis::dis
,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
use patched zydis-rs locally for wasm support, and upstream v3.0 when publishing to crates.io
- fern test?
-
Enables fern ^0.6
chrono, and fern are only needed by tests, but because of the need for a feature named test, they also have to be optional dependencies as well.
- chrono test?
- bitvec emulator
-
Enables bitvec
needed for emu
- lancelot-flirt flirt
-
Enables lancelot-flirt ^0.8.6
needed for flirt