1.查壳
32位exe文件,没有壳
2.用32位IDA打开
找到main函数,F5查看伪代码
从后往前逆推
根据strncmp
可知Destination
与Str2
相等,双击查看Str2
'e3nifIH9b_C@n@dH'
再往上for
循环对Destination`进行了修改,写脚本
key=['e','3','n','i','f','I','H','9','b','_','C','@','n','@','d','H']
flag=''
for i in range(0,len(key)):
flag=flag+chr(ord(key[i])-i)
print(flag)
>>>
e2lfbDB2ZV95b3V9
但是这还不是最终的flag,往上看有一个sub_4110BE函数,双击查看一下
继续跟进
这个函数的作用是base64加密,我们用一下base64解密就可以了
写脚本
import base64
key=['e','3','n','i','f','I','H','9','b','_','C','@','n','@','d','H']
flag=''
for i in range(0,len(key)):
flag=flag+chr(ord(key[i])-i)
print(base64.b64decode(flag))
>>>b'{i_l0ve_you}'
flag{i_l0ve_you}
补充
base64加密
这里我就不详细解释base64了,想要了解的可以去搜一下学习。