[错误] 在调试 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 →
…内容来源: hugsy/gef