class Rex::Exploitation::Js::Memory

Provides meomry manipulative functions in JavaScript

Public Class Methods

explib2() click to toggle source
# File lib/rex/exploitation/js/memory.rb, line 60
def self.explib2
  js = ::File.read(::File.join(Msf::Config.data_directory, "js", "memory", "explib2", "lib", "explib2.js"))

  ::Rex::Exploitation::ObfuscateJS.obfuscate(js)
end
explib2_payload(payload="exec") click to toggle source
# File lib/rex/exploitation/js/memory.rb, line 66
def self.explib2_payload(payload="exec")
  case payload
  when "drop_exec"
    js = ::File.read(::File.join(Msf::Config.data_directory, "js", "memory", "explib2", "payload", "drop_exec.js"))
  else # "exec"
    js = ::File.read(::File.join(Msf::Config.data_directory, "js", "memory", "explib2", "payload", "exec.js"))
  end

  ::Rex::Exploitation::ObfuscateJS.obfuscate(js)
end
heap_spray() click to toggle source
# File lib/rex/exploitation/js/memory.rb, line 49
def self.heap_spray
  js = ::File.read(::File.join(Msf::Config.data_directory, "js", "memory", "heap_spray.js"))

  ::Rex::Exploitation::ObfuscateJS.new(js,
    {
      'Symbols' => {
        'Variables' => %w{ index heapSprayAddr_hi heapSprayAddr_lo retSlide heapBlockCnt }
      }
    }).obfuscate
end
heaplib2(custom_js='', opts={}) click to toggle source
# File lib/rex/exploitation/js/memory.rb, line 26
def self.heaplib2(custom_js='', opts={})
  js = ::File.read(::File.join(Msf::Config.data_directory, "js", "memory", "heaplib2.js"))

  unless custom_js.blank?
    js << custom_js
  end

  js = ::Rex::Exploitation::JSObfu.new js
  js.obfuscate
  return js
end
mstime_malloc() click to toggle source
# File lib/rex/exploitation/js/memory.rb, line 13
def self.mstime_malloc
  js = ::File.read(::File.join(Msf::Config.data_directory, "js", "memory", "mstime_malloc.js"))
  js = js.gsub(/W00TA/, Rex::Text.rand_text_hex(6))
  js = js.gsub(/W00TB/, Rex::Text.rand_text_hex(5))

  ::Rex::Exploitation::ObfuscateJS.new(js,
    {
      'Symbols' => {
        'Variables' => %w{ buf eleId acTag }
      }
    }).obfuscate
end
property_spray() click to toggle source
# File lib/rex/exploitation/js/memory.rb, line 38
def self.property_spray
  js = ::File.read(::File.join(Msf::Config.data_directory, "js", "memory", "property_spray.js"))

  ::Rex::Exploitation::ObfuscateJS.new(js,
    {
      'Symbols' => {
        'Variables' => %w{ sym_div_container data junk obj }
      }
    }).obfuscate
end