kcshell: assembly/disassembly shell

I was a bit bored of switching between metasm_shell and nasm_shell every time I had to play with assembly instructions and opcodes during exploit development or reversing code.

Also, switching between x86 and x64 wasn’t possible. Since I was already playing with the triforce Keystone, Capstone and Unicorn Python bindings, in a different project, I decided to write a small interactive assembly/disassembly shell for various architectures powered by Keystone/Capstone.

It’s extremely easy to use, and install. To install just type:

pip3 install kcshell

You may be wondering, pip3? Yes, I wrote it in Python3 and I really didn’t care about Python2. Why? Well, Python2 will be unsuported in more or less 3 years, so I decided to use Python3.

Usage

By default kcshell starts in ‘assembler’ mode (x86 32 bits). You can change modes with ‘setmode’.