查壳,32位,有壳,先脱壳
upx -d脱壳
重新查一下壳
然后再拖进IDA分析
在这个函数里面找到了flag
可以看到%s的值是Destination,在上面有一个比较,推测是在校验flag,再查看off_418004,找到两个关键字符串。
继续查看,发现这两个可疑字串
然后在这个函数里发现了输入flag,source的值
可以看到这里将source复制给了Destination
然后我们再分别看一下下面的两个函数
看这里的关键部分就可以根据这里来解密flag
然后我们在结合起来分析一下
根据我们的分析来写出脚本,解出flag。
s = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"
t = "TOiZiZtOrYaToUwPnToBsOaOapsyS"
flag = ""
for i in range(len(t)):
j = s.index(t[i])
if i % 2 == 0:
flag += t[i]
else:
if j <= 26:
flag += chr(j + 96)
else:
flag += chr(j + 38)
print(flag)
最终得到flag{hisisthreadofwindowshahaIsES}