Method: Rex::PeParsey::PeBase#_load_resources

Defined in:
lib/rex/peparsey/pebase.rb

#_load_resourcesObject



1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
# File 'lib/rex/peparsey/pebase.rb', line 1517

def _load_resources
  #
  # Get the data directory entry, size, etc
  #
  rsrc_entry = _optional_header['DataDirectory'][IMAGE_DIRECTORY_ENTRY_RESOURCE]
  rva        = rsrc_entry.v['VirtualAddress']
  size       = rsrc_entry.v['Size']

  return nil if size == 0

  #
  # Ok, so we have the data directory, now lets parse it
  #
  data = _isource.read(rva_to_file_offset(rva), size)

  self._resources_cache = {}
  _parse_resource_directory(data)
end