这个题 有点坑爹
怎么说呢 这个题目重点在于修复把 一开始是exe运行不出来 用 PE查看器查看 发现有个异常
这里原本就是0 这个原始大小代表的是 我们在磁盘的大小 在磁盘中 因为没有载入内存中的拉伸 所以这个东西直接可以计算出来
0x2600-1800=0xE00
然后 发现还是不能正常运行 把题目 拖入ida
把 混淆的指令以及跳转到混淆指令的地方nop掉 成功 f5
这里就很明显了 然后脚本有一点要注意的是 异或的优先级低于 +- 一开始没有注意 发现答案一直不对
#!usr/bin/env python3
# -*- coding :utf-8 -*-
import base64
if __name__=="__main__":
str1 = "LKd8gPYWS["
str2 = "2TVBnx0lnn"
flag =""
for i in range(0,10):
flag+=chr((ord(str1[i])^3)-2)+str2[i]
print(flag)
flag = base64.b64decode(flag)
print(flag)
这个题确实算是一个好题 考察了 PE 还有 花指令 挺不错的