1625-5 王子昂 总结《2018年1月28日》 【连续第485天总结】
A. ichunqiu-Nonstandard
B.
强网杯100dt的GF要了我的命,150dt的这题却这么简单……OTZ
运行看到是很直接的CUI程序,欣喜若狂拖入IDA
从main函数往下走,都是很明显的接受输入、校验长度
然后在核心函数中对输入进行变换,再与一个硬编码字符串比较
核心函数之前进行了一些准备工作,然后每次循环取5个字符
关键操作为以下内容
其实仅看这一行就能猜到了
v16 = ((v26 & 0xFFFFFFF8) << 8) + (v21 & 0xFFFFFFC0 | ((v26 & 7) << 8)) + (v21 & 0x3E);
将v26左移8位,与v21拼起来
PAIR是IDA的宏,意思也是按位拼接
还有最后的取值