直接放到IDA里看下:
显而易见只要v5=1926,就可以看flag。但按照前面的逻辑不可以等于所以
就涉及到了溢出。gets函数溢出,这道题关键v5一开始不为1926,后面必须是1926,所以通过栈可以知道,用v4覆盖v5
下面利用缓冲区溢出,先输入v4字符串覆盖空间,然后再给v5赋值1926就好了,试试看,从ebp的偏移可以看出来v4距离v5需要覆盖8个字节
这样就得到flag啦
直接放到IDA里看下:
显而易见只要v5=1926,就可以看flag。但按照前面的逻辑不可以等于所以
就涉及到了溢出。gets函数溢出,这道题关键v5一开始不为1926,后面必须是1926,所以通过栈可以知道,用v4覆盖v5
下面利用缓冲区溢出,先输入v4字符串覆盖空间,然后再给v5赋值1926就好了,试试看,从ebp的偏移可以看出来v4距离v5需要覆盖8个字节
这样就得到flag啦