Class Rex::Exploitation::OpcodeDb::Client
In: lib/rex/exploitation/opcodedb.rb
Parent: Object

This class implements a client interface to the Metasploit Opcode Database. It is intended to be used as a method of locating reliable return addresses given a set of executable files and a set of usable opcodes.

Methods

Constants

DefaultServerHost = "www.metasploit.com"
DefaultServerPort = 80
DefaultServerUri = "/users/opcode/msfopcode_server.cgi"

Attributes

last_xml  [R]  Retrieves the last raw XML response to be processed.
server_host  [RW]  These attributes convey information about the remote server and can be changed in order to point it to a locate copy as necessary.
server_port  [RW]  These attributes convey information about the remote server and can be changed in order to point it to a locate copy as necessary.
server_uri  [RW]  These attributes convey information about the remote server and can be changed in order to point it to a locate copy as necessary.

Public Class methods

Returns an instance of an initialized client that will use the supplied server values.

Public Instance methods

Disables response parsing.

Enables response parsing.

Returns an array of Group instances.

Returns an array of Locale instances that are supported by the server.

Returns an array of MetaType instances.

Returns an array of ImageModule instances. Image modules are version-specific, locale-specific, and operating system version specific image files. Modules have opcodes, segments, imports and exports associated with them. Optionally, a filter hash can be specified to limit the number of results returned from the database. If no filter hash is supplied, all modules will be returned.

LocaleNames (Array)

     This hash element limits results to one or more specific locale by name.

PlatformNames (Array)

     This hash element limits results to one or more specific platform by
     name.

ModuleNames (Array)

     This hash element limits results to one or more specific module by name.

Segments (Bool)

     If this hash element is set to true, the segments associated with each
     resulting module will be returned by the server.

Imports (Bool)

     If this hash element is set to true, the imports associated with each
     resulting module will be returned by the server.

Exports (Bool)

     If this hash element is set to true, the exports associated with each
     resulting module will be returned by the server.

Returns an array of OsVersion instances. OS versions are associated with a particular operating system release (including service packs). Optionally, a filter hash can be passed to limit the number of results returned. If no filter hash is supplied, all results are returned.

Names (Array)

     If this hash element is specified, only the operating systems that
     contain one or more of the names specified will be returned.

Statistics (Bool)

     If this hash element is set to true, the number of modules associated
     with this matched operating system versions will be returned.

Returns an array of Opcode instances that match the filter limitations specified in the supplied filter hash. If no filter hash is specified, all opcodes will be returned (but are most likely going to be limited by the server). The filter hash limiters that can be specified are:

ModuleNames (Array)

     This hash element limits results to one or more specific modules by
     name.

GroupNames (Array)

     This hash element limits results to one or more specific opcode group by
     name.

TypeNames (Array)

     This hash element limits results to one or more specific opcode type by
     name.

MetaTypeNames (Array)

     This hash element limits results to one or more specific opcode meta
     type by name.

LocaleNames (Array)

     Limits results to one or more specific locale by name.

PlatformNames (Array)

     Limits reslts to one or more specific operating system version by name.

Addresses (Array)

     Limits results to a specific set of addresses.

Portable (Bool)

     If this hash element is true, opcode results will be limited to ones
     that span more than one operating system version.

Returns an instance of the Statistics class that holds information about the server‘s database stats.

Returns an array of Type instances. Opcode types are specific opcodes, such as a jmp esp. Optionally, a filter hash can be passed to include extra information in the results.

Statistics (Bool)

     If this hash element is set to true, the number of opcodes currently in
     the database of this type will be returned.

Protected Instance methods

Translate the data type from a flat string to a ruby native type.

Transmits a request to the Opcode database server and translates the response into a native general ruby datatype.

Translate elements conveyed as data types.

Translates a parameter into a flat CGI parameter string.

[Validate]