1.IDA打开寻找字符串
2.跟进函数f5查看伪代码,发现无法查看
3.容易解决,找到该地址f5分析
4.成功进入函数但是作用不大,只是判断输入字符串长度,开始od动态调试
看见关键字符串跟进下断点,继续单步向下,运行输入密码
5.找到关键加密段,进行分析
6.分析加密过程为主要是移位运算
7.继续单步跟踪到对比段
8.转到查看对比的原有密文数据
9.写出脚本运行得到flag
10.输入得到答案
11.将ea5yre_1s_50_ea5y_t0_y0u进行MD5加密
12.最终答案为CTF{18295EB198C57AA68728814FBC740A71}
做题心得:
a = 0110 0101 <<3 -->0010 1000 取低五位
b = 0110 0001 >>5 -->0000 0011 取高三位
a|b相当于两个二进制数相加得0010 1011
0010 1000 >>3 -->0000 0101
0000 0011 <<5 -->0110 0000
0000 0101 | 0110 0000得到0110 0101