Sha256: fa2263ee31d4d737529e2c1651954a04d69725b68aae8963382237c95243d18b
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
#!/usr/bin/env ruby # -*- coding: binary -*- module Rex module Post module Meterpreter ### # # Mixin for classes that wish to have object aliases but do not # really need to inherit from the ObjectAliases class. # ### module ObjectAliasesContainer # # Initialize the instance's aliases. # def initialize_aliases(aliases = {}) self.aliases = aliases end # # Pass-thru aliases. # def method_missing(symbol, *args) self.aliases[symbol.to_s] end # # Recursively dumps all of the aliases registered with a class that # is kind_of? ObjectAliases. # def dump_alias_tree(parent_path, current = nil) items = [] if (current == nil) current = self end # If the current object may have object aliases... if (current.kind_of?(Rex::Post::Meterpreter::ObjectAliases)) current.aliases.each_key { |x| current_path = parent_path + '.' + x items << current_path items.concat(dump_alias_tree(current_path, current.aliases[x])) } end return items end # # The hash of aliases. # attr_accessor :aliases end ### # # Generic object aliases from a class instance referenced symbol to an # associated object of an arbitrary type # ### class ObjectAliases include Rex::Post::Meterpreter::ObjectAliasesContainer ## # # Constructor # ## # An instance def initialize(aliases = {}) initialize_aliases(aliases) end end end; end; end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
librex-0.0.68 | lib/rex/post/meterpreter/object_aliases.rb |
librex-0.0.66 | lib/rex/post/meterpreter/object_aliases.rb |