wxcemow 2013-11-22 05:11 采纳率: 0%
浏览 4087

gdp调试的时候查看寄存器信息提示 The program has no registers now.怎么解决?

源代码是这样的
#include "stdio.h"
#include "string.h"

char code[]=
"\x41\x41\x41\x41\x41"
"\x41\x41\x41\x41\x41"
"\x41\x41\x41\x41\x41"
"\x41\x41\x41"
"\x41\x41\x41\x41"
"\x82\x84\x04\x08"
"\x00";

void copy(const char *input)
{
char buf[10];
strcpy(buf, input);
printf("%s \n", buf);
}

void bug(void)
{
printf("I shouldn't have appeared\n");
}

int main(int argc, char *argv[])
{
copy(code);
return 0;
}
使用gdb调试进行溢出攻击的时候,
(gdb) disasse main
Dump of assembler code for function main:
0x0000000000400603 <+0>: push %rbp
0x0000000000400604 <+1>: mov %rsp,%rbp
0x0000000000400607 <+4>: sub $0x10,%rsp
0x000000000040060b <+8>: mov %edi,-0x4(%rbp)
0x000000000040060e <+11>: mov %rsi,-0x10(%rbp)
0x0000000000400612 <+15>: mov $0x601050,%edi
0x0000000000400617 <+20>: callq 0x4005bc
0x000000000040061c <+25>: mov $0x0,%eax
0x0000000000400621 <+30>: leaveq
0x0000000000400622 <+31>: retq

End of assembler dump.
(gdb) info all-registers
The program has no registers now.

求教~THX

  • 写回答

2条回答 默认 最新

  • 至少像那雪一样 2015-01-02 15:37
    关注

    应该是没有设置断点,break一下试试

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向