-
-
[旧帖]
[求助]请教一个关于jmp_buf的问题
0.00雪花
-
发表于:
2010-11-30 14:36
1205
-
[旧帖] [求助]请教一个关于jmp_buf的问题
0.00雪花
最近在学习heap-overflow,在看w00w00(http://www.w00w00.org/files/articles/heaptut.txt)的paper时,最后有一个通过setjmp和longjmp利用堆溢出的程序,该程序中有一个代码片段:
printf("bx = 0x%lx, si = 0x%lx, di = 0x%lx\n",
jmpbuf->__bx, jmpbuf->__si, jmpbuf->__di);
printf("bp = %p, sp = %p, pc = %p\n\n",
jmpbuf->__bp, jmpbuf->__sp, jmpbuf->__pc);
编译的时候失败,说是结构中没有__bx __di等数据成员,我也查可了下setjmp.h和bits/setjmp.h头文件,确实没有发现有这些数据成员的定义。
想问下,大家以前在学习这个文章的时候有没有遇到过这个问题。
我看bits/setjmp.h头文件中定义了一个含6个元素的数组,猜测是用来保存上面这6个寄存器值的。
是否是头文件的定义发生了变化?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!