{"id":37079975,"url":"https://github.com/zeropointdynamics/zelos","last_synced_at":"2026-01-14T09:40:31.371Z","repository":{"id":36658576,"uuid":"244431161","full_name":"zeropointdynamics/zelos","owner":"zeropointdynamics","description":"A comprehensive binary emulation and instrumentation platform.","archived":false,"fork":false,"pushed_at":"2023-01-31T00:27:41.000Z","size":24375,"stargazers_count":416,"open_issues_count":22,"forks_count":50,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-08-24T23:41:59.698Z","etag":null,"topics":["binary","binary-analysis","emulation","emulator","linux","malware","malware-analysis","vulnerability-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeropointdynamics.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-02T17:22:51.000Z","updated_at":"2025-06-19T01:36:17.000Z","dependencies_parsed_at":"2023-02-16T13:15:48.066Z","dependency_job_id":null,"html_url":"https://github.com/zeropointdynamics/zelos","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/zeropointdynamics/zelos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeropointdynamics%2Fzelos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeropointdynamics%2Fzelos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeropointdynamics%2Fzelos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeropointdynamics%2Fzelos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeropointdynamics","download_url":"https://codeload.github.com/zeropointdynamics/zelos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeropointdynamics%2Fzelos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28416120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["binary","binary-analysis","emulation","emulator","linux","malware","malware-analysis","vulnerability-analysis"],"created_at":"2026-01-14T09:40:30.636Z","updated_at":"2026-01-14T09:40:31.363Z","avatar_url":"https://github.com/zeropointdynamics.png","language":"Python","readme":"![PyPI](https://img.shields.io/pypi/v/zelos)\n[![Build Status](https://dev.azure.com/kevin0853/zelos/_apis/build/status/zeropointdynamics.zelos?branchName=master)](https://dev.azure.com/kevin0853/zelos/_build/latest?definitionId=1\u0026branchName=master)\n[![codecov](https://codecov.io/gh/zeropointdynamics/zelos/branch/master/graph/badge.svg)](https://codecov.io/gh/zeropointdynamics/zelos)\n[![Documentation Status](https://readthedocs.org/projects/zelos/badge/?version=latest)](https://zelos.readthedocs.io/en/latest/?badge=latest)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/zelos)\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n\u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"\u003e\u003c/a\u003e\n\n# Zelos\nZelos (**Z**eropoint **E**mulated **L**ightweight **O**perating **S**ystem) is a python-based binary emulation platform. One use of zelos is to quickly assess the dynamic behavior of binaries via command-line or python scripts. All syscalls are emulated to isolate the target binary. Linux x86_64 (32- and 64-bit), ARM and MIPS binaries are supported. [Unicorn](https://github.com/unicorn-engine/unicorn) provides CPU emulation.\n\n![Image](https://raw.githubusercontent.com/zeropointdynamics/zelos/master/docs/_static/demo.gif)\n\n[Full documentation](https://zelos.readthedocs.io/en/latest/index.html) is available [here](https://zelos.readthedocs.io/en/latest/index.html).\n\n## Installation\n\nUse the package manager [pip](https://pip.pypa.io/en/stable/) to install zelos.\n\n```bash\npip install zelos\n```\n\n## Basic Usage\n\n### Command-line\nTo emulate a binary with default options:\n\n```console\n$ zelos my_binary\n```\n\nTo view the instructions that are being executed, add the `--inst` flag:\n```console\n$ zelos --inst my_binary\n```\n\nYou can print only the first time each instruction is executed, rather than *every* execution, using `--fasttrace`:\n```console\n$ zelos --inst --fasttrace my_binary\n```\n\nBy default, syscalls are emitted on stdout. To write syscalls to a file instead, use the `--trace_file` flag:\n```console\n$ zelos --trace_file path/to/file my_binary\n```\n\nSpecify any command line arguments after the binary name:\n```console\n$ zelos my_binary arg1 arg2\n```\n\n### Programmatic\n```python\nimport zelos\n\nz = zelos.Zelos(\"my_binary\")\nz.start(timeout=3)\n```\n\n## Plugins\n\nZelos supports first- and third-party [plugins](https://zelos.readthedocs.io/en/latest/tutorials/04_writing_plugins.html). Some notable plugins thus far:\n\n- [crashd](https://github.com/zeropointdynamics/zelos-crashd) crash analyzer combining execution trace, dataflow and memory sanitization.\n- [overlay (ida plugin)](https://zelos.readthedocs.io/en/latest/tutorials/06_snapshot_overlay.html): highlights `zelos` execution trace in IDA with instruction-level comments added.\n- [angr integration](https://github.com/zeropointdynamics/angr-zelos-target): enables symbolic execution in `zelos`.\n- [zdbserver](https://github.com/zeropointdynamics/zelos/tree/master/src/zelos/tools/zdbserver): remote control and debugging of emulated binaries.\n- [syscall limiter](https://zelos.readthedocs.io/en/latest/tutorials/05_syscall_limit_plugin.html): demonstrates event hooking and provides syscall-based execution and termination options.\n\n## Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n### Local Development Environment\n\nFirst, create a new python virtual environment. This will ensure no package version conflicts arise:\n\n```console\n$ python3 -m venv ~/.venv/zelos\n$ source ~/.venv/zelos/bin/activate\n```\n\nNow clone the repository and change into the `zelos` directory:\n\n```console\n(zelos) $ git clone git@github.com:zeropointdynamics/zelos.git\n(zelos) $ cd zelos\n```\n\nInstall an *editable* version of zelos into the virtual environment. This makes `import zelos` available, and any local changes to zelos will be effective immediately:\n\n```console\n(zelos) $ pip install -e '.[dev]'\n```\n\nAt this point, tests should pass and documentation should build:\n\n```console\n(zelos) $ pytest\n(zelos) $ cd docs\n(zelos) $ make html\n```\n\nBuilt documentation is found in ``docs/_build/html/``.\n\nInstall zelos pre-commit hooks to ensure code style compliance:\n\n```console\n(zelos) $ pre-commit install\n```\n\nIn addition to automatically running every commit, you can run them anytime with:\n\n```console\n(zelos) $ pre-commit run --all-files\n```\n\n#### Windows Development:\n\nCommands vary slightly on Windows:\n\n```console\nC:\\\u003e python3 -m venv zelos_venv\nC:\\\u003e zelos_venv\\Scripts\\activate.bat\n(zelos) C:\\\u003e pip install -e .[dev]\n```\n\n## License\n[AGPL v3](https://www.gnu.org/licenses/agpl-3.0.en.html)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeropointdynamics%2Fzelos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeropointdynamics%2Fzelos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeropointdynamics%2Fzelos/lists"}