>>>>>mistake
解题思路:
题目给出了hint,主要是优先级priority
其中关键点在于两个if语句
if(fd=open("/home/mistake/password",O_RDONLY,0400)<0){"error"}
if(!(len=read(fd,pw_buf,PW_LEN)>0)){"error"}
这里主要用到的是'='与'<' '>'之间优先级的关系
赋值号'='的优先级最低
因此。
第一句为:open()函数成功后返回值大于零,判断后得到false,赋值给fd后得到fd=0
第二句为:read(fd=0,...,...)表示从标准输入读取长度为10的字符串
接下来与用户输入的password进行异或比较
匹配成功后即可拿到flag
解题思路:
题目给出了hint,主要是优先级priority
其中关键点在于两个if语句
if(fd=open("/home/mistake/password",O_RDONLY,0400)<0){"error"}
if(!(len=read(fd,pw_buf,PW_LEN)>0)){"error"}
这里主要用到的是'='与'<' '>'之间优先级的关系
赋值号'='的优先级最低
因此。
第一句为:open()函数成功后返回值大于零,判断后得到false,赋值给fd后得到fd=0
第二句为:read(fd=0,...,...)表示从标准输入读取长度为10的字符串
接下来与用户输入的password进行异或比较
匹配成功后即可拿到flag