{"id":13838456,"url":"https://github.com/williballenthin/lancelot","last_synced_at":"2026-01-03T23:17:47.624Z","repository":{"id":2388023,"uuid":"46418756","full_name":"williballenthin/lancelot","owner":"williballenthin","description":"intel x86(-64) code analysis library that reconstructs control flow","archived":false,"fork":false,"pushed_at":"2025-02-19T10:39:03.000Z","size":23406,"stargazers_count":103,"open_issues_count":24,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-11T08:56:19.546Z","etag":null,"topics":["malware-analysis","reverse-engineering"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/williballenthin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-11-18T12:57:04.000Z","updated_at":"2025-03-23T00:17:53.000Z","dependencies_parsed_at":"2025-04-14T18:13:38.379Z","dependency_job_id":"6fa820fe-95d1-4021-8be3-d09cc68f2dbb","html_url":"https://github.com/williballenthin/lancelot","commit_stats":{"total_commits":1261,"total_committers":6,"mean_commits":"210.16666666666666","dds":0.5923869944488501,"last_synced_commit":"487d2e35766819a597b04a9439bf3b5d4571d4d1"},"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williballenthin%2Flancelot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williballenthin%2Flancelot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williballenthin%2Flancelot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williballenthin%2Flancelot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/williballenthin","download_url":"https://codeload.github.com/williballenthin/lancelot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328384,"owners_count":22052632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["malware-analysis","reverse-engineering"],"created_at":"2024-08-04T15:01:58.019Z","updated_at":"2026-01-03T23:17:47.585Z","avatar_url":"https://github.com/williballenthin.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Lancelot\n\n[![CI Status](https://github.com/williballenthin/lancelot/workflows/CI/badge.svg)](https://github.com/williballenthin/lancelot/actions)\n\nintel x86(-64) code analysis library that reconstructs control flow\n\n\n## dependencies\n\n  - make\n  - cmake\n  - pkg-config\n\nConsider using [cranelift](https://github.com/rust-lang/rustc_codegen_cranelift) during development:\n\n```console\n$ rustup component add rustc-codegen-cranelift-preview --toolchain nightly\n$ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift cargo build -Zcodegen-backend\n```\n\nAlso consider using `mold`:\n\n```console\n$ mold -run cargo build\n# or with cranelift:\n$ env CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift mold -run cargo build -Zcodegen-backend\n```\n\nIf it doesn't work with your (read: Willi's) nix setup,\nuse it just for incremental builds.\n\n## maintenance\n\n```\n$ rustup update  # update rust compiler\n\n$ cargo update  # update dependencies, not crossing major versions\n\n$ cargo outdated -x unicorn  # find outdated major version dependencies\n```\n\nbecause we use an older version of unicorn thats easier to build with cargo,\nwe want to ignore any old dependencies stemming from unicorn.\n\n## testing\n\n```\n$ pre-commit run --all-files --hook-stage manual\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliballenthin%2Flancelot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliballenthin%2Flancelot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliballenthin%2Flancelot/lists"}