Code Monkey home page Code Monkey logo

shellcodeemulator's Introduction

Windows shellcode emulation tool based upon unicorn framework.

ShellcodeEmulator emulates Windows shellcode with the help of windbg process memory dumps. You can provide shellcode to analyze with any Windows process dump image. The tool will emulate as much as of the userland code using the shellcode bytes and the provided dump image.

You can add your custom syscall handlers or any handlers in between the API calls used by shellcode and the kernel layer. This can provide full view of the user stack and also let you handle shellcode bypasses existing shellcode harnesses, for example by calling syscalls directly.

Installation

  1. Install WinDbg

  2. Install ShellcodeEmulator

pip install git+https://github.com/ohjeongwook/ShellcodeEmulator --upgrade
  1. Please run following command if you experience any PyKD/WinDbg integration issues
    • PyKD has some issues with DLL package distribution.
python -m pykdfix.fix_windbg_files

Usage

> python -m shellcode_emulator.run

Usage: run.py [options] args

Options:
  -h, --help            show this help message and exit
  -b IMAGE_BASE, --image_base=IMAGE_BASE
                        Image base to load the shellcode inside process memory
  -d DUMP_FILENAME, --dump_filename=DUMP_FILENAME
                        A process dump file from normal Windows process
  -l LIST_FILENAME, --list_filename=LIST_FILENAME
                        A list filename generated by IDA (this can be used
                        instead of shellcode filename)

Example

  1. Take process dump from Windows notepad process using Process Explorer and save it as notepad.dmp
  2. Run wincalc.bin shellcode
python -m shellcode_emulator.run wincalc.bin -d notepad.dmp

shellcodeemulator's People

Contributors

ohjeongwook avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

ttkko

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.