#961·gef

[错误] 在调试 32 位二进制文件时,堆命令返回的结果不正确。

作者: Fruerlund创建于 2023年7月13日更新于 2025年3月31日
标签bug

REMOTE ENVIRONMENT (32 BIT):

1. Setup environment.

Fusion VM: fusion@fusion:~$ sudo gdbserver :1234 --attach 1424 [sudo] password for fusion: Attached; pid = 1424 Listening on port 1234

Host VM:

user@LAPTOP-M65IV45R:~/binaryexploitation/level05_d$ gdb
0.00ms using Python engine 3.9
gef➤  file level05
Reading symbols from level05...
gef➤  gef-remote 192.168.56.113 1234
Reading /lib/i386-linux-gnu/libc.so.6 from remote target...
[... snip ... ]

Code:
  0xb777c421 <__kernel_vsyscall+13> nop
  0xb777c422 <__kernel_vsyscall+14> int    0x80
 → 0xb777c424 <__kernel_vsyscall+16> pop    ebp
  0xb777c425 <__kernel_vsyscall+17> pop    edx
  0xb777c426 <__kernel_vsyscall+18> pop    ecx
  0xb777c427 <__kernel_vsyscall+19> ret
  0xb777c428                  add    BYTE PTR [esi], ch
  0xb777c42a                  jae    0xb777c494
Threads:
[#0] Id 1, stopped 0xb777c424 in __kernel_vsyscall(), reason: SIGTRAP
Trace:
[#0] 0xb777c424 → __kernel_vsyscall()
[#1] 0xb76b73ce →
…