Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A collection of python scripts to aid you in the final steps of binary exploitation or during the construction of buffers.

This project is by no means any rocket-science, and many of these components might remind you of loose scripts that everyone has written at some point in time. ;-)


Moneyshot depends on:

  • python (2.x for now)
  • diStorm3 (for disassembly functionality)

There's some external libraries that moneyshot depends on as well. however, (local) installation of these is automatically done by setting up the git submodules. (See installation notes)


$ git clone
$ cd moneyshot
$ git submodule init
$ git submodule update
$ cd lib/darm && make 


Running without any arguments gives you an overview of all modules/commands currently implemented. If you supply an action without any arguments moneyshot will inform you about the usage of the specific module/action.

$ ./
    __   __  ______.___   __  _____._  __._______._ __  ____._________
   /  \ /  \/  __  |    \|  |/  ___| \/  /\  ___/  |  |/ __  \__   __/
  /    '    \   /  |  |\    |   _|_\    /__\   \|     |   /  |  |  |
 /___\  /    \_____|__|  \__|______||__||______/|__|__|\_____|  |__|
      \/ _____\

  usage: moneyshot  [options]

    * list     - list shellcodes
    * build    - build shellcodes
    * pattern  - build patterns
    * lolsled  - build a lolsled
    * format   - format input
    * fmt      - formatstring helper
    * rop      - ROP helper
    * rop-arm  - ARM ROP helper
    * rep      - String repeater
    * dwords   - binary format dwords
    * dumpsym  - dump symbols for given binary
    * dumpelf  - dump information for given binary


If you want to help out and improve moneyshot, that would be most welcome. I'm a very lazy coder so I only work in small spurts when I need a feature/fix myself. But if you send me sensible pull requests it is likely that I will merge them into the master repo. If you're looking for some inspiration of what to implement/fix:

  • The structure of my code sux, needs to be more pythonic, I suppose.
  • Commandline argument handling is a horrible hack, switch to argparse maybe.
  • The rop and rop-arm module are currently separated, but mostly equal logic-wise..
  • The ELF parser is an ugly and horrible hack, rewrite or replace with a proper lib
  • Assembling x86(-64)/ARM code is done using a system("gcc..") hack atm..
  • Mach-O support
  • PE (win) support
  • Make ROP module(s) agnostic of binary format (currently only ELF32/ELF64)
  • Turn moneyshot into an actual python module with a sane API, so we can import * from moneyshot
  • ROP gadget finding is nice, but we might be able to propose full ROP chains as well


hax 'n shit



No releases published


No packages published