class Rex::Post::Meterpreter::Extensions::Stdapi::Railgun::Def::Def_version

Public Class Methods

create_dll(dll_path = 'version') click to toggle source
# File lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_version.rb, line 11
def self.create_dll(dll_path = 'version')
  dll = DLL.new(dll_path, ApiConstants.manager)

  dll.add_function('GetFileVersionInfoA', 'BOOL',[
    ["PCHAR","lptstrFilename","in"],
    ["DWORD","dwHandle","in"],
    ["DWORD","dwLen","in"],
    # Ignore lpData out as we will pass in our
    # own memory address and use memread
    ["LPVOID","lpData","in"],
  ])

  dll.add_function('GetFileVersionInfoSizeA', 'DWORD',[
    ["PCHAR","lptstrFilename","in"],
    ["PDWORD","lpdwHandle","out"]
  ])

  dll.add_function('VerQueryValueA', 'BOOL',[
    ["LPVOID","pBlock","in"],
    ["PCHAR","lpSubBlock","in"],
    ["PDWORD","lplpBuffer","out"],
    ["PDWORD","puLen","out"]
  ])

  return dll
end