Skip to content

Add your module

Ahmad Nourallah edited this page Jul 13, 2017 · 5 revisions

we designed this framework to be easy to create your module all what you need is define three dictionarys and two functions 💯

Define requirement stuff

as we sayed above you need to define three dictionaries and two functions we need also to import obtainer class from core.module_obtainer package

In the end the structure of module will be in this form

from core.module_obtainer import obtainer
info = {
        'author'            :'Creator name',
        'date'              :'Create date',
        'rank'              :'Rank of the module',
        'category'          :'Main category of the module',
        'path'              :'Module create path',
        'license'           :'Module license',
        'description'       :'Module description',
        'references'        :['References for further reading']
}
options = {
            'options_name'        :['require', 'description','value']
}
required = {
        'start_required'     :'False/True', # using default starter
        'check_required'     :'False/True' # module support on not support check option
}
def exploit(): # main exploit function
    pass # stuff to do
def check(): # check function if the module require it
    pass # stuff to do

explain info dictionary values

The required keys in this dictionary are:

Key Value Type Value Content Description
Author String Creator Name define module creator name (eg: Ahmad Nourallah)
Date String Create Date set module create date (eg: 2017-7-7)
Rank String Module Rank set the module rank (eg: Good)
Category String Module Category set module category (eg: exploit or auxiliary or anything you need)
Path String Module Path set module path (eg: auxiliary/core/modulename)
License String Module License set module license (eg: GPL-2.0)
Description String Module Description set description for module
References String Module References add references for further read

Note: all keys in this dictionary write in small letters

explain options dictionary values

no require keys in this dictionary you can name your options freely but the value of options it's important
the form of options value is:

Key Value Type Value Content Description
Name Not Important Array ['Condition of option option','Description of option','Value of option'] if the option is required (eg: Yes or No),descripe the option,set default value for option (Note: if you don't need to set default value for option leave it null (eg: "")

Note: the arrangement of option value is necessary

explain options required values

The required keys in this dictionary are:

Key Value Type Value Content Description
start_required String or Boolean True or False this option decide if the module need to use the default framework module starter or not
check_required String or Boolean True or False this option decide if the module has the check feature

Getting the options value from user

when you start programming your module you will need to get the value of your option from user so you need something to handle with this situation for that the we create module_obtainer package to solve this problem all what you need its import the package in your module by write this line

from core.module_obtainer import obtainer

then when you need to get value from specific option you can type

obtainer.options['option_name'][2]

simply 👍