{ "info": { "author": "Rui Reis", "author_email": "rui@deniable.org", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Information Technology", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Security", "Topic :: Software Development :: Assemblers", "Topic :: Software Development :: Disassemblers" ], "description": "kcshell\n=======\n\nWhat is it:\n~~~~~~~~~~~\n\nSimple Python3 based interactive assembly/disassembly shell for various\narchitectures powered by\n`Keystone `__/`Capstone `__.\n\nI simply got tired of using\n`metasm\\_shell `__\nand\n`nasm\\_shell `__\nto assemble and disassemble code.\n`Keystone `__ and\n`Capstone `__ are awesome and... I\nlike Python.\n\nHow to install it:\n------------------\n\n.. code:: c\n\n pip3 install kcshell\n\nOR (assuming you have Keystone and Capstone build toolchains installed)\n\n.. code:: c\n\n git clone https://github.com/fdiskyou/kcshell\n cd kcshell\n python setup.py install\n\nUsage\n-----\n\nBy default 'kcshell' starts in 'assembler' mode (x86 32 bits). You can\nchange modes with 'setmode', and you can also change the default\narchitecture for both the 'assembler' and 'disassembler' with 'setarch'.\n\n.. code:: c\n\n $ kcshell\n -=[ kcshell v0.0.3 ]=-\n Default Assembler architecture is x86 (32 bits)\n asm> lsmodes\n disasm, asm\n asm> setmode disasm\n Default Disassembler architecture is x86 (32 bits)\n disasm> lsarchs\n x86, mips32, arm_t, x64, arm, x16, arm64, mips64\n disasm> setarch x64\n Disassembler architecture is now x64\n disasm>\n\nTo assemble instructions just type the instructions in the command line.\n\n.. code:: c\n\n asm> jmp esp\n \"\\xff\\xe4\"\n asm> xor eax, eax\n \"\\x31\\xc0\"\n asm> setarch x64\n Assembler architecture is now x64\n asm> inc rax\n \"\\x48\\xff\\xc0\"\n asm>\n\nTo go from opcodes to instructions just type them in the command line.\n\n.. code:: c\n\n disasm> \\xff\\xe4\n 0x00400000: jmp esp\n disasm> \\x31\\xc0\n 0x00400000: xor eax, eax\n disasm> setarch x64\n Disassembler architecture is now x64\n disasm> \\x48\\xff\\xc0\n 0x00400000: inc rax\n disasm>\n\nFor help just use '?' or 'help '.\n\n.. code:: c\n\n asm> ?\n\n Documented commands (type help ):\n ========================================\n EOF exit help lsarchs lsmodes quit setarch setmode\n\n asm> setmode disasm\n Default Disassembler architecture is x86 (32 bits)\n disasm> ?\n\n Documented commands (type help ):\n ========================================\n EOF exit help lsarchs lsmodes quit setarch setmode\n\n disasm>\n\nTo list all the supported architectures just go to the desired mode and\nuse 'lsarchs'.\n\n.. code:: c\n\n asm> lsarchs\n mips64, sparc64, sparc, arm_t, x64, x16, arm64, hexagon, systemz, mips32, ppc64, x86, arm, ppc32\n asm> lsmodes\n asm, disasm\n asm> setmode disasm\n Default Disassembler architecture is x86 (32 bits)\n disasm> lsarchs\n mips64, x16, arm64, mips32, arm_t, x86, arm, x64\n disasm>\n\nTODO\n~~~~\n\n- Read input from files\n- Set a proper base address for 64 bits architectures", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fdiskyou/kcshell", "keywords": "assembler,disassembler", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "kcshell", "package_url": "https://pypi.org/project/kcshell/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/kcshell/", "project_urls": { "Homepage": "https://github.com/fdiskyou/kcshell" }, "release_url": "https://pypi.org/project/kcshell/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "Simple Python3 based interactive assembly/disassembly shell for various architectures powered by Keystone/Capstone.", "version": "0.0.4" }, "last_serial": 2760736, "releases": { "0.0.4": [ { "comment_text": "", "digests": { "md5": "1a4af8105711c251e4d499756e5dd982", "sha256": "2cd8b4fa0cf7daa4dab98fac1b49014b46459cadf155068b19d481eabb2c3220" }, "downloads": -1, "filename": "kcshell-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "1a4af8105711c251e4d499756e5dd982", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5921, "upload_time": "2017-04-05T19:24:46", "url": "https://files.pythonhosted.org/packages/07/ea/556a96d7a732ecdbe5822ee082b74fb05d1a64896a2f7010dff0200a70ee/kcshell-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99059433f690d46911987bc8f40c1ae8", "sha256": "1af6035db817c954dc7a2d728afc24a1114f19fe36b50f92f253217d48947b37" }, "downloads": -1, "filename": "kcshell-0.0.4.tar.gz", "has_sig": false, "md5_digest": "99059433f690d46911987bc8f40c1ae8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4094, "upload_time": "2017-04-05T19:24:47", "url": "https://files.pythonhosted.org/packages/61/ac/5dea167e8b627caa2b62c0028af8516b7608bf05de8358e3036f17e48558/kcshell-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1a4af8105711c251e4d499756e5dd982", "sha256": "2cd8b4fa0cf7daa4dab98fac1b49014b46459cadf155068b19d481eabb2c3220" }, "downloads": -1, "filename": "kcshell-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "1a4af8105711c251e4d499756e5dd982", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5921, "upload_time": "2017-04-05T19:24:46", "url": "https://files.pythonhosted.org/packages/07/ea/556a96d7a732ecdbe5822ee082b74fb05d1a64896a2f7010dff0200a70ee/kcshell-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99059433f690d46911987bc8f40c1ae8", "sha256": "1af6035db817c954dc7a2d728afc24a1114f19fe36b50f92f253217d48947b37" }, "downloads": -1, "filename": "kcshell-0.0.4.tar.gz", "has_sig": false, "md5_digest": "99059433f690d46911987bc8f40c1ae8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4094, "upload_time": "2017-04-05T19:24:47", "url": "https://files.pythonhosted.org/packages/61/ac/5dea167e8b627caa2b62c0028af8516b7608bf05de8358e3036f17e48558/kcshell-0.0.4.tar.gz" } ] }