我需要在下面的示例代码中调用登录函数。我们可以使用缓冲区溢出攻击,将返回地址直接更改为登录函数来实现这一点。但我需要保留返回地址不变。是否有其他方法可以打印已登录消息而不更改返回地址?
char getPass()
{
int flag = 'F';
char pass[10];
gets(pass);
return (char) flag;
}
void login()
{
printf("Logged in");
exit(0);
}
void main()
{
printf("Enter Passwd");
if(getPass() == 'T')
{
login();
}else{
print("Failed");
exit(1);
}
}