MCPcopy Create free account
hub / github.com/ELMERIKH/PyinMemoryPE / load

Method load

windows/debug/symbols.py:645–666  ·  view source on GitHub ↗

Load the :class:`SymbolModule` associated with the loaded module ``name`` (as found in the PEB) :return: :class:`SymbolModule` Exemple: >>> sh = windows.debug.symbols.ProcessSymbolHandler(windows.test.pop_proc_64()) <windows.debug.symbols.ProcessSymbolHandl

(self, name)

Source from the content-addressed store, hash-verified

643 # module that is already loaded
644 # Question: should be able to load other module at other address ?
645 def load(self, name):
646 """Load the :class:`SymbolModule` associated with the loaded module ``name`` (as found in the PEB)
647
648 :return: :class:`SymbolModule`
649
650 Exemple:
651
652 >>> sh = windows.debug.symbols.ProcessSymbolHandler(windows.test.pop_proc_64())
653 <windows.debug.symbols.ProcessSymbolHandler object at 0x033A2C30>
654 >>> sh
655 <windows.debug.symbols.ProcessSymbolHandler object at 0x033A2C30>
656 >>> sh.load("kernelbase.dll")
657 <SymbolModule name="kernelbase" type=SymDeferred pdb="" addr=0x7ffb5b090000>
658 >>> sh["kernelbase!CreateProcessA"]
659 <SymbolInfoA name="CreateProcessA" start=0x7ffb5b2371f0 tag=SymTagPublicSymbol>
660 """
661 mods = [x for x in self.target.peb.modules if x.name == name]
662 if not mods:
663 raise ValueError("Could not find module <{0}>".format(name))
664 assert len(mods) == 1 # Load all if multiple match ?
665 mod = mods[0]
666 return self.load_module(addr=mod.baseaddr, path=mod.fullname)
667
668 def refresh(self):
669 """Update the list of loaded modules to match the modules present in the target process

Callers

nothing calls this directly

Calls 1

load_moduleMethod · 0.45

Tested by

no test coverage detected