链接见标题。
运行一下文件:
用IDA打开,直接按Shift+F12查找字符串:
双击,进入引用它的地方后直接F5:
看一下后发现重点在if,if通过了就输出密码错误,因此我们需要找到使if不成立的密码。
首先观察声明的部分,String v3 v4 v5 是一片连续的空间。
if的第一个条件是v3 != 97 ,那么v3就是'a',因为'a'的ASCII码是97。
第二个条件,是判断v4是否等于a5y,a5y这里存储的是"5y",我们需要让strncmp输出0,所以v4就必须是"5y"。又因为v4 是和 v3 连在一起的,所以我们得到了 "a5y"。
下面那个也一样,所以我们得到了"a5yR3versing"。
最后那个因为String的地址在最前面,所以 'E' 应该加到最前面。
flag = Ea5yR3versing
网友评论