From d753c0455f79c158a1dbda6bc2127f365896b380 Mon Sep 17 00:00:00 2001 From: Disconnect3d Date: Sun, 5 Sep 2021 23:14:53 +0200 Subject: [PATCH] Fix #954 --- pwndbg/elf.py | 5 +++++ pwndbg/vmmap.py | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pwndbg/elf.py b/pwndbg/elf.py index 9c076c94d..950c78b3b 100644 --- a/pwndbg/elf.py +++ b/pwndbg/elf.py @@ -234,6 +234,11 @@ def get_ehdr(pointer): We expect the `pointer` to be an address from the binary. """ + + # This just does not work :( + if pwndbg.qemu.is_usermode(): + return None, None + vmmap = pwndbg.vmmap.find(pointer) base = None diff --git a/pwndbg/vmmap.py b/pwndbg/vmmap.py index 51dd66fcc..c09cf28a3 100644 --- a/pwndbg/vmmap.py +++ b/pwndbg/vmmap.py @@ -52,8 +52,14 @@ def get(): # following links. pages.extend(info_auxv()) - if pages: pages.extend(info_sharedlibrary()) - else: pages.extend(info_files()) + if pages: + pages.extend(info_sharedlibrary()) + else: + if pwndbg.qemu.is_usermode(): + return ( + pwndbg.memory.Page(0, pwndbg.arch.ptrmask, 7, 0, '[qemu-user]'), + ) + pages.extend(info_files()) pages.extend(pwndbg.stack.stacks.values())