Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GDB-查看访问地址/中断的内容_Gdb_Exploit - Fatal编程技术网

GDB-查看访问地址/中断的内容

GDB-查看访问地址/中断的内容,gdb,exploit,Gdb,Exploit,我正在尝试覆盖函数vtable: 这里是这样做的: 在memcpy之前 (gdb) x/100x 0xb7993150 0xb7993150: 0xb6eae130 0xb6eae130 0x41414141 0x41414141 0xb7993160: 0x41414141 0x41414141 0x41414141 0x41414141 0xb7993170: 0x00000000 0x000000

我正在尝试覆盖函数vtable:

这里是这样做的:

在memcpy之前

(gdb) x/100x 0xb7993150
0xb7993150:     0xb6eae130      0xb6eae130      0x41414141      0x41414141
0xb7993160:     0x41414141      0x41414141      0x41414141      0x41414141
0xb7993170:     0x00000000      0x00000000      0x00000030      0x00000023
0xb7993180:     0x6c707061      0x74616369      0x2f6e6f69      0x6574636f
0xb7993190:     0x74732d74      0x6d616572      0x00000000      0x0000001b
0xb79931a0:     0x00000001      0x00000001      0xb7993078      0x00000000
0xb79931b0:     0x00000000      0x0000002b      0xb6727688      0xb79931e0
0xb79931c0:     0x00000000      0xb6727678      0xb79931f8      0xb6727678
0xb79931d0:     0xb7993208      0x00000000      0x00000000      0x0000001b
0xb79931e0:     0x00000001      0x00000001      0xb79931b8      0x00000000
0xb79931f0:     0x66657463      0x00000013      0x00000000      0xb79932c8
0xb7993200:     0xb7993218      0x00000013      0x00000000      0xb79932d8
0xb7993210:     0xb79932d8      0x00000013      0xb666ee65      0xb79931f8
0xb7993220:     0xb7993228      0x00000013      0xb66b6971      0xb7993218
0xb7993230:     0xb7993238      0x00000013      0xb6693c11      0xb7993228
0xb7993240:     0xb7993248      0x00000013      0xb669ba79      0xb7993238
在memcpy之后

0xb7993150:     0x7d000000      0x67337874      0x41414141      0x41414141
0xb7993160:     0x41414141      0x41414141      0x41414141      0x41414141
0xb7993170:     0x99999999      0x42424242      0x42424242      0x42424242
0xb7993180:     0x42424242      0x42424242      0x42424242      0x42424242
0xb7993190:     0x42424242      0x42424242      0x42424242      0x42424242
0xb79931a0:     0x42424242      0x42424242      0x42424242      0x42424242
0xb79931b0:     0x42424242      0x42424242      0x42424242      0x46454443
0xb79931c0:     0x4a494847      0x0000204b      0xe8919cb3      0xb67276b6
0xb79931d0:     0xb7993208      0x00000000      0x00000000      0x0000001b
0xb79931e0:     0x00000001      0x00000001      0xb79931b8      0x00000000
0xb79931f0:     0x66657463      0x00000013      0x00000000      0xb79932c8
0xb7993200:     0xb7993218      0x00000013      0x00000000      0xb79932d8
0xb7993210:     0xb79932d8      0x00000013      0xb666ee65      0xb79931f8
0xb7993220:     0xb7993228      0x00000013      0xb66b6971      0xb7993218
0xb7993230:     0xb7993238      0x00000013      0xb6693c11      0xb7993228
0xb7993240:     0xb7993248      0x00000013      0xb669ba79      0xb7993238
0xb7993250:     0xb7993258      0x00000013      0xb666990d      0xb7993248
0xb7993260:     0xb7993268      0x00000013      0xb665ad61      0xb7993258
0xb7993270:     0xb7993278      0x00000013      0xb66c83b5      0xb7993268
0xb7993280:     0xb7993288      0x00000013      0xb666adad      0xb7993278
当0x9999999作为vtable指针访问/读取时,如何停止/创建断点

威尔

b *0xb7993170 
工作

我正在尝试覆盖函数vtable:

没有这样的事。也许你指的是职业教育

只要
b*0xb7993170
就行了吗

否。
b*0xb7993170
仅在
0xb7993170
包含可执行代码时才起作用。如果它实际上包含一个vtable(即指向代码的指针),则需要:

awatch *(int**)0xb7993170
或者,您可以继续二进制文件,让它在尝试取消引用时崩溃
0x4242

另外,鉴于
0xb7993170
在memcpy之前包含
0
,它肯定不是函数指针(但仍可能是vtable的一部分)


您需要在实际指针位置上设置一个观察点(即,
0xb7993170
将不起作用,您需要
0xb7993178
或类似的东西)。

谢谢!!!回答得很好。你能看看我关于vtables的另一个问题吗?