这题名字就叫mistake,所以考察的就是我们的细心了~
由于源代码有点长,附在文末~
我们打开源代码发现:
这道题就是通过比较你输入的密码和/home/mistake/password
下的密码是否一致。当然如果我们硬猜是肯定猜不出来的。
所以我们仔细观察发现:
这一行代码由于粗心,忘记加上括号。所以我们打开的文件描述符肯定是非负的啊,所以 0 < 0为假,所以fd = 0,也就是从标准输入中读取的密码和我们输入的密码做比较
这就很简单啦~
但是这里对我们输入的密码与1做了一个异或操作(相同为0,不同为1)再和读入的密码比较
所以还是很好得到答案的啦~