- 先exeinfope查看一下文件的结构
- 无壳,32位,用ida打开进入main函数
- 发现无法反编译,猜测是加入了花指令
- 去花指令,将这三个 call sub_401020 右键nop掉
- nop之后
- 这个时候可以F5反编译分析了
- 这里的命名比较乱,我们安装自己的习惯去命名
- 代码结构比较简单,要求我们输入一个长度=27的字符串。然后,将我们输入的字符串,逐个逐个和byte_41EA08[i]的后27个值异或。
- 解题思路:找到byte_41EA08[i]的字符串,然后与1-27异或,结果即为flag
- 首先,进入byte_41EA08查看数据,可以按R将4DH转化为M
- 最后拼接字符串:MSAWB~FXZ:J:`tQJ"N@ bpdd}8g
- 编写异或脚本
-
str_1 = 'MSAWB~FXZ:J:`tQJ"N@ bpdd}8g' str_2 = list(str_1) result = '' for item in range(len(str_2)): result += chr(ord(str_2[item]) ^ item) print(result)
- 结果:MRCTF{@_R3@1ly_E2_R3verse!}
03-06
300
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-06
634
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
12-12
456
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交