def theme(): """Shows pwndbg-specific theme configuration points""" values = [ v for k, v in pwndbg.config.__dict__.items() if isinstance(v, pwndbg.config.Parameter) and v.scope == 'theme' ] longest_optname = max(map(len, [v.optname for v in values])) longest_value = max( map(len, [ extend_value_with_default(str(v.value), str(v.default)) for v in values ])) header = print_row('Name', 'Value', 'Def', 'Documentation', longest_optname, longest_value) print('-' * (len(header))) for v in sorted(values): if isinstance(v, pwndbg.color.theme.ColoredParameter): value = generateColorFunction(v.value)(v.value) default = generateColorFunction(v.default)(v.default) elif isinstance(v.value, str): value = "'%s'" % str(v.value) default = str(v.default) else: value = repr(v.value) default = repr(v.default) print_row(v.optname, value, default, v.docstring, longest_optname, longest_value)
def theme(): values = [ v for k, v in pwndbg.config.__dict__.items() if isinstance(v, pwndbg.config.Parameter) and v.scope == 'theme' ] longest_optname = max(map(len, [v.optname for v in values])) longest_value = max( map(len, [ extend_value_with_default(str(v.value), str(v.default)) for v in values ])) header = print_row('Name', 'Value', 'Def', 'Documentation', longest_optname, longest_value) print('-' * (len(header))) for v in sorted(values): if isinstance(v, pwndbg.color.theme.ColoredParameter): value = generateColorFunction(v.value)(v.value) default = generateColorFunction(v.default)(v.default) elif isinstance(v.value, str): value = "'%s'" % str(v.value) default = str(v.default) else: value = repr(v.value) default = repr(v.default) print_row(v.optname, value, default, v.docstring, longest_optname, longest_value) print(hint('You can set theme variable with `set <theme-var> <value>`')) print( hint('You can generate theme config file using `themefile` ' '- then put it in your .gdbinit after initializing pwndbg'))
def heap_config(filter_pattern): values = get_config_parameters("heap", filter_pattern) if not values: print( message.hint('No config parameter found with filter "{}"'.format( filter_pattern))) return longest_optname = max(map(len, [v.optname for v in values])) longest_value = max( map(len, [ extend_value_with_default(repr(v.value), repr(v.default)) for v in values ])) header = print_row("Name", "Value", "Def", "Documentation", longest_optname, longest_value) print("-" * (len(header))) for v in sorted(values): print_row(v.optname, repr(v.value), repr(v.default), v.docstring, longest_optname, longest_value) print( message.hint( "You can set config variable with `set <config-var> <value>`")) print( message.hint( "Some config(e.g. main_arena) will only working when resolve-heap-via-heuristic is `True`" ))
def theme(filter_pattern): values = get_config_parameters('theme', filter_pattern) if not values: print( hint('No theme parameter found with filter "{}"'.format( filter_pattern))) return longest_optname = max(map(len, [v.optname for v in values])) longest_value = max( map(len, [ extend_value_with_default(str(v.value), str(v.default)) for v in values ])) header = print_row('Name', 'Value', 'Def', 'Documentation', longest_optname, longest_value) print('-' * (len(header))) for v in sorted(values): if isinstance(v, pwndbg.color.theme.ColoredParameter): value = generateColorFunction(v.value)(v.value) default = generateColorFunction(v.default)(v.default) elif isinstance(v.value, str): value = "'%s'" % str(v.value) default = str(v.default) else: value = repr(v.value) default = repr(v.default) print_row(v.optname, value, default, v.docstring, longest_optname, longest_value) print(hint('You can set theme variable with `set <theme-var> <value>`')) print( hint('You can generate theme config file using `themefile` ' '- then put it in your .gdbinit after initializing pwndbg'))