mirror of https://github.com/pwndbg/pwndbg.git
Make de-reference only works on known pages in bare metal mode and add commands to manually add pages (#385)
* Make chain.get() to check vmmap first in bare metal mode Make chain.get() limit to de-reference within the known page in bare metal mode. Since the address are all valid when mmu is not enable and all the value are valid physical address. It will be de-referenced even these addresses are not used and actually, it is data in the most of case. Ex. 0x1 often means the value 1, not the address 0x1. Also, for issue #371, some addresses may be the MMIO registers. The read operation on these address will break the state. It is better to limit the de-reference address range. This patch will also fix it, hopefully. * Add custom vmmap add/del API in vmmap.py In some cases, ex. bare metal, the pages information can not be detected automatically. Also, the most of pwndbg feature rely on page information such as highlighting. User may want to create page information manually and maintain it by himself. This commit add python APIs to manually add/del page information and they are isolated. * Fix stack page detection in bare metal mode We can not detect the stack page size in bare metal mode by 1. finding the ELF location after the stack page 2. page fault A simple workaround is returning the current $sp page and assume it is the stack page. * Add vmmap control command to add/del customized vmmap In some cases, ex. bare metal, the pages information can not be detected automatically. Also, the most of pwndbg feature rely on page information such as highlighting. User may want to create page information manually and maintain it by himself. I add few commands to make user can add/del pages and load page information from ELF sections. * Fix the command amount for auto test to pass CI * Add warning message * Fix descriptions * Fix cache issue and use bisect in insert API * Keep LinuxOnly in find_elf_magic * remove XXXpull/399/head
parent
103b1def61
commit
e0c02a4484
Loading…
Reference in new issue