Skip to content

Developer Guide

s0lst1c3 edited this page Nov 16, 2020 · 4 revisions

This guide is for anyone who wants to develop their own DropEngine modules. It is highly recommended that you familiarize yourself with DropEngine both at an operational and conceptual level prior to working through this guide. If you haven't read the rest of the docs yet, start there.

From a developer's perspective, a module is dynamically loaded Python code that is executed by DropEngine during the payload creation process to accomplish one of the following tasks:

  • generate payload components
  • obfuscate or encrypt the payload
  • generate dependencies for other module types (e.g. generating encryption keys for crypter modules)

All of DropEngine’s module types can be placed into one of the following broad categories:

  • Input module – desc exists
  • Output module – desc exists
  • Mutator – desc exists

Each subsection of this chapter describes the process for creating modules from these categories.

Clone this wiki locally