| Class | Msf::Module |
| In: |
lib/msf/core/module.rb
|
| Parent: | Object |
| UpdateableOptions | = | [ "Name", "Description", "Alias" ] | The list of options that support merging in an information hash. |
| arch | [R] | The array of zero or more architectures. |
| author | [R] | The array of zero or more authors. |
| datastore | [R] | The module-specific datastore instance. |
| file_path | [RW] | The path from which the module was loaded. |
| job_id | [RW] | The job identifier that this module is running as, if any. |
| license | [R] | The license under which this module is provided. |
| options | [R] | The module-specific options. |
| orig_cls | [RW] | This attribute holds the non-duplicated copy of the module implementation. This attribute is used for reloading purposes so that it can be re-duplicated. |
| platform | [R] | The array of zero or more platforms. |
| privileged | [R] | Whether or not this module requires privileged access. |
| references | [R] | The reference count for the module. |
| refname | [RW] | The module‘s name that is assigned it it by the framework or derived from the path that the module is loaded from. |
This method allows modules to tell the framework if they are usable on the system that they are being loaded on in a generic fashion. By default, all modules are indicated as being usable. An example of where this is useful is if the module depends on something external to ruby, such as a binary.
Returns true if this module is being debugged. The debug flag is set by setting datastore[‘DEBUG’] to 1|true|yes
Imports default options into the module‘s datastore, optionally clearing all of the values currently set in the datastore.
Overrides the class’ own datastore with the one supplied. This is used to allow modules to share datastores, such as a payload sharing an exploit module‘s datastore.
This method ensures that the options associated with this module all have valid values according to each required option in the option container.
Checks to see if a derived instance of a given module implements a method beyond the one that is provided by a base class. This is a pretty lame way of doing it, but I couldn‘t find a better one, so meh.
This method initializes the module‘s compatibility hashes by normalizing them into one single hash. As it stands, modules can define compatibility in their supplied info hash through:
Compat - direct compat definitions PayloadCompat - payload compatibilities EncoderCompat - encoder compatibilities NopCompat - nop compatibilities
In the end, the module specific compatibilities are merged as sub-hashes of the primary Compat hash key to make checks more uniform.