add option to show retaddr register to config (#127)

pull/130/head
dqi 9 years ago committed by Zach Riggle
parent cb00aa7396
commit 30f1498fa0

@ -71,11 +71,14 @@ def regs(*regs):
print('\n'.join(get_regs(*regs)))
pwndbg.config.Parameter('show-flags', False, 'whether to show flags registers')
pwndbg.config.Parameter('show-retaddr-reg', False, 'whether to show return address register')
def get_regs(*regs):
result = []
if not regs:
if not regs and pwndbg.config.show_retaddr_reg:
regs = pwndbg.regs.gpr + (pwndbg.regs.frame, pwndbg.regs.current.stack) + pwndbg.regs.retaddr + (pwndbg.regs.current.pc,)
elif not regs:
regs = pwndbg.regs.gpr + (pwndbg.regs.frame, pwndbg.regs.current.stack, pwndbg.regs.current.pc)
if pwndbg.config.show_flags:

@ -91,7 +91,7 @@ class RegisterSet(object):
if reg and reg not in self.common:
self.common.append(reg)
self.all = set(i for i in misc) | set(flags) | set(self.common)
self.all = set(i for i in misc) | set(flags) | set(self.retaddr) | set(self.common)
self.all -= {None}
def __iter__(self):
@ -241,7 +241,6 @@ arch_to_regs = {
'arm': arm,
'aarch64': aarch64,
'powerpc': powerpc,
'powerpc': powerpc,
}
@pwndbg.proc.OnlyWhenRunning
@ -426,3 +425,5 @@ sys.modules[__name__] = module(__name__, '')
def update_last():
M = sys.modules[__name__]
M.last = {k:M[k] for k in M.common}
if pwndbg.config.show_retaddr_reg:
M.last.update({k:M[k] for k in M.retaddr})

Loading…
Cancel
Save