lancelot/core/Cargo.toml
Willi Ballenthin 6222351aaa v0.9.10
2026-01-08 16:50:21 +01:00

65 lines
1.8 KiB
TOML

[package]
name = "lancelot"
description = "binary analysis framework for x32/x64 PE files"
license = "Apache-2.0"
version = "0.9.10"
authors = ["Willi Ballenthin <william.ballenthin@mandiant.com>"]
edition = "2021"
homepage = "https://github.com/williballenthin/lancelot"
repository = "https://github.com/williballenthin/lancelot"
exclude = ["resources/test/"]
[badges]
travis-ci = { repository = "https://github.com/williballenthin/lancelot", branch = "master" }
[dependencies]
log = "0.4"
goblin = { version = "0.9", features = ["std", "pe32"], default-features = false }
object = "0.36"
zydis = { features = ["wasm", "serialization"], optional = true, version = "3.1.3" }
byteorder = "1"
bitflags = "1"
lazy_static = "1"
anyhow = "1"
thiserror = "2"
regex = "1"
smallvec = "1"
widestring = "1.0"
smol_str = "0.3"
ansi_term = "0.12"
chrono = { version = "0.4", features = ["clock"], default-features = false}
# 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.
fern = { version = "0.7", optional = true }
# needed for emu
bitvec = { version = "1" }
# needed for flirt
lancelot-flirt = { path = "../flirt", version = "0.9.10", optional = true}
# needed for binexport2
prost = "0.13"
[dev-dependencies]
criterion = "0.5"
chrono = { version = "0.4", features = ["clock"], default-features = false }
fern = "0.7"
unicorn-engine = "2.0.0"
dynasm = "1.0.1"
dynasmrt = "1.0.1"
[[bench]]
name = "core"
harness = false
required-features = ["emulator", "flirt", "disassembler", "test"]
[features]
default = ["flirt", "disassembler"]
# The reason we do this is because doctests don't get cfg(test)
# See: https://github.com/rust-lang/cargo/issues/4669
test = ["fern", "emulator"]
flirt = ["lancelot-flirt", "disassembler"]
emulator = ["zydis"]
disassembler = ["zydis"]