示例#1
0
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)
示例#2
0
文件: theme.py 项目: mak/pwndbg
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'))
示例#3
0
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`"
        ))
示例#4
0
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'))