williballenthin/lancelot

GitHub: williballenthin/lancelot

一个用于 Intel x86/x86-64 代码分析并重建控制流的 Rust 库。

Stars: 109 | Forks: 14

# Lancelot [![CI 状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/81c7c1f8c6040034.svg)](https://github.com/williballenthin/lancelot/actions) 用于重建控制流的 intel x86(-64) 代码分析库 ## 依赖项 - make - cmake - pkg-config 建议在开发期间使用 [cranelift](https://github.com/rust-lang/rustc_codegen_cranelift): ``` $ rustup component add rustc-codegen-cranelift-preview --toolchain nightly $ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift cargo build -Zcodegen-backend ``` 也可以考虑使用 `mold`: ``` $ mold -run cargo build # 或使用 cranelift: $ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift mold -run cargo build -Zcodegen-backend ``` 如果它不能在你的(这里指 Willi 的) nix 环境中工作, 请仅在增量构建时使用它。 ## 维护 ``` $ rustup update # update rust compiler $ cargo update # update dependencies, not crossing major versions $ cargo outdated -x unicorn # find outdated major version dependencies ``` 因为我们使用的是更容易用 cargo 构建的旧版本 unicorn, 所以我们想要忽略任何源自 unicorn 的旧依赖项。 ## 测试 ``` $ pre-commit run --all-files --hook-stage manual ```
标签:Bash脚本, Rust, x86架构, 二进制分析, 云安全运维, 云资产清单, 代码分析, 凭证管理, 可视化界面, 控制流重构, 网络流量审计, 逆向工程, 通知系统