{"id":15060538,"url":"https://github.com/0xbc/chiasm-shell","last_synced_at":"2025-08-06T08:16:22.700Z","repository":{"id":62561964,"uuid":"75449539","full_name":"0xbc/chiasm-shell","owner":"0xbc","description":"Python-based interactive assembler/disassembler CLI, powered by Keystone/Capstone.","archived":false,"fork":false,"pushed_at":"2017-01-27T04:59:24.000Z","size":31,"stargazers_count":31,"open_issues_count":1,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-09T10:49:24.927Z","etag":null,"topics":["assembler","capstone","cli","disassembler","keystone"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xbc.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}},"created_at":"2016-12-03T03:36:23.000Z","updated_at":"2024-12-31T13:47:09.000Z","dependencies_parsed_at":"2022-11-03T15:30:44.606Z","dependency_job_id":null,"html_url":"https://github.com/0xbc/chiasm-shell","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/0xbc/chiasm-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xbc%2Fchiasm-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xbc%2Fchiasm-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xbc%2Fchiasm-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xbc%2Fchiasm-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xbc","download_url":"https://codeload.github.com/0xbc/chiasm-shell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xbc%2Fchiasm-shell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269042322,"owners_count":24349672,"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","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["assembler","capstone","cli","disassembler","keystone"],"created_at":"2024-09-24T23:00:10.471Z","updated_at":"2025-08-06T08:16:22.675Z","avatar_url":"https://github.com/0xbc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chiasm-shell\n[![Latest Release](https://img.shields.io/pypi/v/chiasm-shell.svg)](https://pypi.python.org/pypi/chiasm-shell)  \nPython-based interactive assembler/disassembler CLI, powered by [Keystone]/[Capstone].\n\n## Why did you make this?\nI wanted to quickly view some opcodes with [metasm-shell.rb], but I didn't have a Metasploit install handy. I didn't really want to mess around with Ruby either, so I figured that writing my own replacement was a good excuse to play with Keystone and Capstone.\n\n## How do I install it?\n```bash\npip install chiasm-shell\n# OR\nmkvirtualenv chiasm-shell # optional\ngit clone https://github.com/0xbc/chiasm-shell\ncd chiasm-shell\npython setup.py install # assumes you have Capstone and Keystone \n                        # build toolchains installed, which includes CMake.\n```\n\n## How do I run it?\n```bash\nchiasm-shell\n# or, from the repo base directory:\npython -m chiasm_shell.chiasm_shell\n```\n\n## How do I use it?\n- When the prompt is `asm\u003e`, you're using the interactive assembler backend (Keystone).\n  - Input one or more assembly statements separated by a semi-colon. x86 uses Intel syntax only at the moment.\n- When the prompt is `disasm\u003e`, you're using the interactive disassembler backend (Capstone).\n  - Input one or more bytes represented by \\xXX, where XX is a hex value.\n- To switch backends, use `switch asm` or `switch disasm`.\n- To change architecture, use `setarch \u003carch\u003e \u003cmode(s)\u003e`.\n  - e.g. `setarch x86 64`.\n  - You can use more than one mode, separated by spaces.\n  - Use `lsarch` and `lsmode` to view supported architectures and modes for the current backend\n  - At the moment, you need to know what modes are relevant to each architecture - check the Keystone/Capstone source if you're not sure.\n- Type `help` to see a list of commands; `help \u003ccmd\u003e` to see the docstring for `cmd`.\n\n## Example usages\n```\nasm\u003e inc eax; xor ebx, ebx\n\\x40\\x31\\xdb\n```\n\n```\ndisasm\u003e \\x40\\x31\\xdb\n0x1000: inc     eax\n0x1001: xor     ebx, ebx\n```\n\n## It's broken/I have a suggestion/etc.\nPlease get in touch/raise an issue/PR/etc!\n\n## Known Issues\n- None at this time.\n\n## TODO\n- Syntax highlighting and/or tab completion for assembly\n- Intelligent mode selection\n- Support different input/output formats\n- Test suite\n\n[keystone]: \u003chttp://www.keystone-engine.org/\u003e\n[capstone]: \u003chttp://www.capstone-engine.org/\u003e\n[metasm-shell.rb]: \u003chttps://github.com/jjyg/metasm/blob/master/samples/metasm-shell.rb\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xbc%2Fchiasm-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xbc%2Fchiasm-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xbc%2Fchiasm-shell/lists"}