24 releases

0.9.7 Feb 19, 2025
0.8.6 Dec 13, 2022
0.6.5 Jun 7, 2021
0.6.0 Mar 25, 2021
0.4.4 Sep 8, 2020

#9 in #malware-analysis

Download history 4/week @ 2024-12-07 1/week @ 2024-12-14 303/week @ 2025-02-15 49/week @ 2025-02-22 11/week @ 2025-03-01

363 downloads per month

Apache-2.0

1.5MB
13K SLoC

Lancelot

CI Status

intel x86(-64) code analysis library that reconstructs control flow

dependencies

  • make
  • cmake
  • pkg-config

Consider using cranelift during development:

$ rustup component add rustc-codegen-cranelift-preview --toolchain nightly
$ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift cargo build -Zcodegen-backend

Also consider using mold:

$ mold -run cargo build
# or with cranelift:
$ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift mold -run cargo build -Zcodegen-backend

If it doesn't work with your (read: Willi's) nix setup, use it just for incremental builds.

maintenance

$ rustup update  # update rust compiler

$ cargo update  # update dependencies, not crossing major versions

$ cargo outdated -x unicorn  # find outdated major version dependencies

because we use an older version of unicorn thats easier to build with cargo, we want to ignore any old dependencies stemming from unicorn.

testing

$ pre-commit run --all-files --hook-stage manual

Dependencies

~16–28MB
~451K SLoC