攻防世界reverse进阶区EASYHOOK
参考了攻防世界的wp。
查壳
ida打开,关键字符定位
查交叉引用后看伪代码
发现程序首先打印please input the flag,当输入完成后对输入进行审查,如果输入的字符串长度没有13h(19),就会puts wrong,如果长度符合要求就进入下一个流程。之后的流程在输入长度正确和puts success之间有四个函数调用,推测,这四个函数调用中很可能有一个或两个是关键的加密函数。
上OD:
研究这四个函数对输入进行的加密操作,直接运行发现程序停止0x004014fd处等待输入,在输入完成后继续运行程序puts wrong结束。
尝试在0x004014fd后下断点,但程序仍然puts wrong,说明程序的输入部分在0x004014fd内部,在od中按f7跟进0x004014fd函数内部,发现了scanf函数等,尝试进行输入操作,随便输入一串字符串,发现此时程序把输入的字符串与0x13进行了比较,如果不相等,直接