Home | Trees | Indices | Help |
|
---|
|
Encapsulates the capability to contain Module objects.
Note: Labels are an approximated way of referencing memory locations across different executions of the same process, or different processes with common modules. They are not meant to be perfectly unique, and some errors may occur when multiple modules with the same name are loaded, or when module filenames can't be retrieved.
|
|||
|
|||
|
|||
bool |
|
||
dictionary-valueiterator |
|
||
int |
|
||
|
|||
|
|||
|
|||
|
|||
|
|||
bool |
|
||
bool |
|
||
bool |
|
||
|
|||
|
|||
|
|||
|
|||
Inherited from |
|||
Modules snapshot | |||
---|---|---|---|
bool |
|
||
Module |
|
||
dictionary-keyiterator |
|
||
dictionary-valueiterator |
|
||
list( int... ) |
|
||
int |
|
||
Module |
|
||
Module |
|
||
|
|||
|
|||
Labels | |||
tuple( str or None, str or int or None, int or None ) |
|
||
str |
|
||
int |
|
||
int |
|
||
str |
|
||
Symbols | |||
|
|||
|
|||
list of tuple( str, int, int ) |
|
||
iterator of tuple( str, int, int ) |
|
||
int or None |
|
||
None or tuple( str, int, int ) |
|
||
Debugging | |||
int |
|
||
bool |
|
||
int or None |
|
||
int or None |
|
||
int or None |
|
||
int or None |
|
||
int or None |
|
||
int or None |
|
|
|||
Labels | |||
---|---|---|---|
tuple( str or None, str or int or None, int or None ) |
|
|
|||
Labels | |||
---|---|---|---|
str |
|
||
tuple( str or None, str or int or None, int or None ) |
|
|
|||
Inherited from |
|
x.__init__(...) initializes x; see help(type(x)) for signature
|
Private method to automatically initialize the snapshot when you try to use it without calling any of the scan_* methods first. You don't need to call this yourself. |
|
See Also: iter_modules |
See Also: get_module_count |
|
|
See Also: iter_modules |
See Also: iter_module_addresses |
See Also: iter_module_addresses |
|
|
|
Creates a label from a module and a function name, plus an offset.
Warning: This method only creates the label, it doesn't make sure the label actually points to a valid memory location. |
Splits a label created with parse_label. To parse labels with a less strict syntax, use the split_label_fuzzy method instead.
Warning: This method only parses the label, it doesn't make sure the label actually points to a valid memory location. |
Splits a label entered as user input. It's more flexible in it's syntax parsing than the split_label_strict method, as it allows the exclamation
mark (
Warning: This method only parses the label, it doesn't make sure the label actually points to a valid memory location. |
Splits a label into it's When called as a static method, the strict syntax mode is used: winappdbg.Process.split_label( "kernel32!CreateFileA" ) When called as an instance method, the fuzzy syntax mode is used: aProcessInstance.split_label( "CreateFileA" )
See Also: split_label_strict, split_label_fuzzy |
See Also: split_label |
Converts a label taken from user input into a well-formed label.
|
Resolve the memory address of the given label.
Note: If multiple modules with the same name are loaded, the label may be resolved at any of them. For a more precise way to resolve functions use the base address to get the Module object (see Process.get_module) and then call Module.resolve. If no module name is specified in the label, the function may be resolved in any loaded module. If you want to resolve all functions with that name in all processes, call Process.iter_modules to iterate through all loaded modules, and then try to resolve the function in each one of them using Module.resolve. |
Resolve the memory address of the given module, function and/or offset.
Note: If multiple modules with the same name are loaded, the label may be resolved at any of them. For a more precise way to resolve functions use the base address to get the Module object (see Process.get_module) and then call Module.resolve. If no module name is specified in the label, the function may be resolved in any loaded module. If you want to resolve all functions with that name in all processes, call Process.iter_modules to iterate through all loaded modules, and then try to resolve the function in each one of them using Module.resolve. |
Creates a label from the given memory address.
Warning: This method uses the name of the nearest currently loaded module. If that module is unloaded later, the label becomes impossible to resolve. |
|
|
|
|
|
|
|
|
Loads the debugging symbols for all modules in this snapshot. Automatically called by get_symbols. |
Returns the debugging symbols for all modules in this snapshot. The symbols are automatically loaded when needed.
|
Returns an iterator for the debugging symbols in all modules in this snapshot, in no particular order. The symbols are automatically loaded when needed.
|
Resolves a debugging symbol's address.
|
Tries to find the closest matching symbol for the given address.
|
Private method to add a module object to the snapshot.
|
Private method to remove a module object from the snapshot.
|
Private method to automatically add new module objects from debug events.
|
Notify the load of the main module. This is done automatically by the Debug class, you shouldn't need to call it yourself.
|
Notify the load of a new module. This is done automatically by the Debug class, you shouldn't need to call it yourself.
|
Notify the release of a loaded module. This is done automatically by the Debug class, you shouldn't need to call it yourself.
|
Private method to automatically add new module objects from debug events.
|
Private method to automatically initialize the snapshot when you try to use it without calling any of the scan_* methods first. You don't need to call this yourself. |
See Also: split_label |
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Fri Dec 20 17:54:54 2013 | http://epydoc.sourceforge.net |