Unraveler is a collection of some scripts automate the task of shellcode writing and testing by doing assembling, linking, extracting shellcode, putting it in a C file, compiling and then running it. Usually so many repetitive tasks tend to consume too much time and therefore this project does that in an instant.
With one command, it
- Assembles the assembly code.
- Links the assembled code into an object file.
- Extracts the opcodes (using objdump) and writes it into the form of a C char array to be used.
- Puts it into a C file, compiles the file.
- Runs the shellcode so you can see it.
Unraveler requires nasm, Python (which comes by default in most linux distro) and zsh to run.
Install the dependencies.
$ sudo apt install nasm zsh
$ sudo pacman -S zsh nasm
generate-shellcode.sh - A zsh script to extract the opcodes from a binary using objdump an write it as a C char array.
assemble.sh - A shell script to assemble and link assemble programs using nasm and ld for x64.
pyTest.py - A python script to put generated shellcode into a C program and execute it.
shellcode.py - A python file to use previously mentioned scripts to do all the work and finally test the shellcode.
install.sh - Shell script to install previously mentioned scripts into /bin
I made this for my personal use, to aid myself. I generally use Arch so if it breaks on Ubuntu (right now it isn't thankfully), you are welcome to either point it out or do yourself.
- Add more functionallty.