[求助]编译缓冲区溢出的小问题

小七qi 2017-7-29 13:13 1334

一个 简单的程序

#include <stdio.h>

#include "string.h" 

int main()

{  

     char password[100];   

    printf("\nPlease input your Password: ");   

    scanf("%s", password);   

    if (!strcmp(password, "stackoverflow"))

 {     

    printf("Welcome to the new world\n");   

  } 

 else

 {         printf("Login failed\nGoodbye!\n");   

  }    

      return 0;

 } 

 限定密码最大个数是100个字节, 输入正确显示 Welcome to the new world ,错误显示Login failed\nGoodbye! 现在我为了让它溢出, 输入大于100个字节的密码,提示 程序崩溃




 然后我用IDA 设置端口1234动态调试,



点击GDB调试以后,输入大于100字节的密码




我想在IDA调试里面看$fp $ra 运行到哪崩溃的 ,但是IDA就一直显示Running就卡住不动了。

我很焦急啊,谁有知道原因啊 很感谢~~·


最新回复 (8)
小七qi 2017-7-29 15:58
2
4
IamHuskar 2017-7-30 08:25
3
点suspend看看挂起的地方在哪里。
小七qi 2017-7-30 09:10
4
IamHuskar 点suspend看看挂起的地方在哪里。
一点suspend就弹出调试模式了
小七qi 2017-7-30 18:49
5
小七qi 2017-7-31 10:28
6
1
风亦映寒 2017-8-1 13:44
7
你的IDA  加载  secret了没
小七qi 2017-8-2 09:59
8
加载了。输入了112个字节的密码  把ra  fp覆盖了,但是IDA动态调试的时候还是会卡在running那个位置
小七qi 2017-8-2 09:59
9
风亦映寒 你的IDA 加载 secret了没
加载了。输入了112个字节的密码  把ra  fp覆盖了,但是IDA动态调试的时候还是会卡在running那个位置
返回