如何计算变量的内存地址,以及函数的入口地址,以下给出代码,最好举例。我的运行环境 VM7.0 ,xps3,vc6.0
代码:
#include<stdio.h>
#include<string.h>
#define PASSWORD "1234567"
int verify_password(char *password)
{
int authenticated;
char buffer[8];
authenticated=strcmp(password,PASSWORD);
strcpy(buffer,password);
return authenticated;
}
main()
{
int valid_flag=0;
char password[1024];
while(1)
{
printf("please input password: ");
scanf("%s",password);
valid_flag=verify_password(password);
if(valid_flag)
{
printf("incorrect password!\n\n");
}
else
{
printf("Congratulation! You have passed the verification!\n");
break;
}
}
}
请详细介绍如何计算变量authenticated的地址,数组buffer[8]的首地址,函数verify_password(char *password)的首地址?
追问:你说的方法可以用代码实现输出,但是我想问问 在反汇编里你怎么计算?!
答案:用得着这么麻烦吗?
变量authenticated的地址就是&authenticated
数组buffer[0]的首地址就是buff[0],函数verify_password的入口地址就是他的名字verify_password
上一个:VC++6.0 怎么就能删除控件和他的ID了?
下一个:vc中我想把汉字赋值给一个变量a该怎么写?请高手指教下……