--- id: python-flirt version: "0.10.0" license: unclear license_treatment: permissive maintenance: active --- # python-flirt — A Python library for parsing, compiling, and matching Fast Library Identification and Recognition Technology (FLIRT) signatures. License: permissive · Maintenance: active · Downloads: 104.1K/mo ## What it is and what it does python-flirt is a Python binding to the Rust-based lancelot-flirt library, enabling FLIRT signature parsing, compilation, and matching without IDA Pro. FLIRT signatures are binary patterns used to identify statically-linked library functions in compiled code; this library reverse-engineers the matching engine and provides both .sig (compiled binary) and .pat (ASCII text) file format support. The library works by parsing signature definitions into an intermediate representation, compiling them into a matcher, and then matching those patterns against raw byte sequences to identify recognized functions. It supports recursive matching via "references" for disambiguating functions with identical byte patterns, though client code must coordinate the recursive invocation. Zero runtime dependencies and prebuilt wheels for modern Python versions on major platforms make installation straightforward. Use it for: - Recognize statically-linked library functions in PE or other binary formats for malware analysis or reverse engineering - Identify common C/C++ runtime library routines in compiled binaries to reduce manual analysis effort - Integrate FLIRT matching into binary analysis tools or frameworks without requiring IDA Pro - Build signature-based function identification into automated security scanning or code reuse detection pipelines - Parse and validate FLIRT signature files (.pat, .sig) for custom binary analysis workflows ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parse, compile, and match FLIRT signatures (Fast Library Identification and Recognition Technology) against byte sequences to recognize statically-linked code without IDA Pro. Yes, if you need FLIRT signature matching in Python without IDA Pro. The library is actively maintained, has no known vulnerabilities, carries a permissive license, and offers prebuilt wheels for modern Python versions. Install friction is moderate but manageable. Main consideration: recursive reference matching requires manual coordination in your code—review the lancelot implementation before integrating. ## Install pip install python-flirt uv add python-flirt poetry add python-flirt ## Installing python-flirt Before you install: Medium install friction due to compiled wheels; however, prebuilt binaries are available for Python 3.10–3.12 across macOS, Linux, and Windows architectures. Maintenance is active with a recent release 36 days ago and ongoing repository activity. License in practice: Licensed under Apache License 2.0 (permissive), allowing commercial and private use. The library itself is redistributable; however, note that FLIRT signatures from Hex-Rays should not be redistributed—use open-source signature databases instead. Quickstart: import flirt # Parse FLIRT signature file sigs = flirt.parse_pat(pat_content) # Compile signatures into matcher matcher = flirt.compile(sigs) # Match against byte buffer for match in matcher.match(buffer): print(match.names[0][0]) Requires Python 3.10 or later. Recursive reference matching requires manual coordination in client code—see lancelot::core::analysis::flirt for implementation details. Verify before relying: - Whether .sig file decompression (zlib-like) is actually unsupported or planned - Performance characteristics when matching large buffers or many signatures - Availability and quality of open-source FLIRT signature databases mentioned ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 104.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags flirt signature matching, binary code recognition, static library identification, ida pro signatures, hex-rays flirt parsing, bytecode pattern matching, function recognition, binary-analysis, reverse-engineering, pattern-matching [View on SkillFed](https://skillfed.io/packages/python-flirt) · [View on PyPI](https://pypi.org/project/python-flirt/)