hugsy / gef-extras

Extra goodies for GEF to (try to) make GDB suck even less
https://hugsy.github.io/gef-extras
MIT License
148 stars 50 forks source link

Command stack support? #85

Closed username13107 closed 1 month ago

username13107 commented 1 year ago

Type of feature request

None

Misc

No response

Summary Description

Can we add stack command like pwndbg, which can show more stack.

pwndbg> stack 50
00:0000│ rsp 0x7ffd0042e6a8 —▸ 0x4015d2 (vuln+72) ◂— mov dword ptr [rbp - 0x118], eax
01:0008│     0x7ffd0042e6b0 ◂— 0x0
... ↓        20 skipped
16:00b0│     0x7ffd0042e758 —▸ 0x7fc5e6d7b5c0 (_IO_2_1_stderr_) ◂— 0xfbad2087
17:00b8│     0x7ffd0042e760 ◂— 0x0
18:00c0│     0x7ffd0042e768 —▸ 0x7fc5e6c20525 ◂— cmp eax, -1
19:00c8│     0x7ffd0042e770 ◂— 0x0
1a:00d0│     0x7ffd0042e778 —▸ 0x7fc5e6d7b5c0 (_IO_2_1_stderr_) ◂— 0xfbad2087
1b:00d8│     0x7ffd0042e780 ◂— 0x0
1c:00e0│     0x7ffd0042e788 ◂— 0x0

Implementation idea/suggestion

.

Existing alternatives?

No response

Additional information

No response

hugsy commented 1 year ago

Like this ?

username13107 commented 1 year ago

Thank you for your quick response. Something like this,but not the same. The link given command can only show current stack frame, which stack command of pwngdb can show user specify number memory content of stack from rsp, like this: image

username13107 commented 1 year ago

Snip20230313_56 In addition, comparing the output of gef and pwndbg, it can be seen that gef's symbol recognition currently seems to only support instruction addresses, while pwndbg's symbol recognition is relatively more comprehensive. For example, in the image, _IO_2_1stderr, because the address of the symbol in gef is data, it refuses to recognize it, while pwndbg can recognize it.

hugsy commented 1 year ago

No such work is planned, but feel free to PR it so the team can review it.