Method: Rex::Post::Meterpreter::Extensions::Stdapi::Railgun::Type::PointerUtil.pack_pointer

Defined in:
lib/rex/post/meterpreter/extensions/stdapi/railgun/type/pointer_util.rb

.pack_pointer(pointer, platform) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/rex/post/meterpreter/extensions/stdapi/railgun/type/pointer_util.rb', line 23

def self.pack_pointer(pointer, platform)
  if pointer.nil?
    return pack_pointer(0, platform)
  end

  case platform
  when PlatformUtil::X86_64
    # Assume little endian
    [pointer].pack('Q<')
  when PlatformUtil::X86_32
    [pointer].pack('V')
  else
    raise "platform symbol #{platform.to_s} not supported"
  end
end