gpt4 book ai didi

c - 如何使用 GDB 查找字符串在内存中的地址?

转载 作者:太空狗 更新时间:2023-10-29 16:39:31 33 4
gpt4 key购买 nike

我想找到一个字符串在内存中的地址。在这种情况下,我正在寻找“/bin/sh”。它是一个初始化的变量,所以它在 .data 部分,编译后,它有一个固定的地址。那么我在GDB中要怎么做才能找出它的内存地址呢?而且我不知道它存储的变量的名称。

最佳答案

对我来说,使用 info proc map 听起来是更好的方法。

(gdb) info proc map
process 930
Mapped address spaces:

Start Addr End Addr Size Offset objfile
0x400000 0x401000 0x1000 0x0 /myapp
0x600000 0x601000 0x1000 0x0 /myapp
0x601000 0x602000 0x1000 0x1000 /myapp
0x7ffff7a1c000 0x7ffff7bd2000 0x1b6000 0x0 /usr/lib64/libc-2.17.so
0x7ffff7bd2000 0x7ffff7dd2000 0x200000 0x1b6000 /usr/lib64/libc-2.17.so
0x7ffff7dd2000 0x7ffff7dd6000 0x4000 0x1b6000 /usr/lib64/libc-2.17.so
0x7ffff7dd6000 0x7ffff7dd8000 0x2000 0x1ba000 /usr/lib64/libc-2.17.so

(gdb) find 0x7ffff7a1c000,0x7ffff7bd2000,"/bin/sh"
0x7ffff7b98489
1 pattern found.
(gdb) x /s 0x7ffff7b98489
0x7ffff7b98489: "/bin/sh"
(gdb) x /xg 0x7ffff7b98489
0x7ffff7b98489: 0x0068732f6e69622f

关于c - 如何使用 GDB 查找字符串在内存中的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637448/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com