{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/6"}],"enrichment":{"capability":"CLE loads binary executables and shared libraries, resolves their imports, and provides a unified memory abstraction as if the OS loader had run them.","skillfed_tags":["binary-analysis","reverse-engineering","executable-loader"],"use_cases":["Load a binary and inspect its entry point, imports, and memory layout for reverse-engineering or static analysis","Resolve all shared library dependencies of an executable and examine their symbols and relocations","Extract raw machine code from a loaded binary and lift it to an intermediate representation for analysis","Analyze Windows PE binaries or ARM Mach-O files by selecting the appropriate backend and architecture","Build a custom binary analysis tool that needs to understand process memory layout without running the binary"],"what_it_does":"CLE is a binary loader that reads executable files in formats like ELF, PE (Windows), and Mach-O, then constructs an in-memory representation of how the OS would lay them out after loading. It resolves imports between the main binary and its shared libraries, searches for those libraries across configurable paths, and exposes the resulting memory state through a Python interface. You give it a file path, and it returns an object representing the loaded process with access to entry points, imports, memory contents, and architecture information.\n\nThe package is designed for binary analysis workflows\u2014reverse engineering, vulnerability research, and automated program understanding. It sits at the foundation of the angr framework and handles the low-level mechanics of parsing multiple binary formats and reconciling their dependencies, so higher-level tools don't have to. Its main dependencies are format-specific parsers (pyelftools, pefile, pyxbe) and architecture metadata (archinfo), plus pyvex for lifting machine code to an intermediate representation.","worth_installing":"Yes. CLE is actively maintained, has no known vulnerabilities, installs with low friction, and is essential if you're doing binary analysis or building on the angr framework. The BSD-2-Clause license is permissive. The only caveat is the Python 3.12+ requirement; if you're on an older version, you cannot use it."},"id":"cle","links":{"html":"https://skillfed.io/packages/cle","md":"https://skillfed.io/packages/cle.md","pypi":"https://pypi.org/project/cle/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-08-05","license_spdx":"BSD-2-Clause","license_treatment":"permissive","name":"cle","python_support":"supports_current","summary":"CLE Loads Everything (at least, many binary formats!) and provides a pythonic interface to analyze what they are and what they would look like in memory."},"popularity":{"monthly_downloads":901912,"position":4772,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"9.3.2"}
