From 293cf66ba5b8d88bf2d7bd4924ce7a5eef741f4b Mon Sep 17 00:00:00 2001 From: Zach Riggle Date: Tue, 26 Apr 2016 16:46:40 -0700 Subject: [PATCH] Implement telescope folding for multiple runs --- pwndbg/commands/telescope.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pwndbg/commands/telescope.py b/pwndbg/commands/telescope.py index 842a22b75..aebdd071a 100644 --- a/pwndbg/commands/telescope.py +++ b/pwndbg/commands/telescope.py @@ -62,10 +62,23 @@ def telescope(address=None, count=8, to_string=False): # Print everything out result = [] + last = None + skip = False for i,addr in enumerate(range(start, stop, step)): if not pwndbg.memory.peek(addr): result.append("" % addr) break + + # Collapse repeating values. + value = pwndbg.memory.pvoid(addr) + if last == value: + if not skip: + result.append('...') + skip = True + continue + last = value + skip = False + line = ' '.join(("%02x:%04x|" % (i, addr-start), regs[addr].ljust(longest_regs), pwndbg.chain.format(addr)))