例行查壳发现有壳而且是upx壳
用脱壳工具upxshell进行脱壳脱壳后如下图
然后用ida32位打开
v4是一个数组,byte_402000字符串里面寻找一个字符然后 -1 与v4进行对比是否相等,逆过来就是+1,然后点击_data_start_会发现一个字符串}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(',27h,'&%',然后在网络上找了个脚本在pycharm运行即可得到flag代码如下:
byte_402000 = '~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(\'&%$# !"'
v4 = [42,70,39,34,78,44,34,40,73,63,43,64]
flag = ''
for i in v4:
flag += chr(byte_402000.find(chr(i)) + 1)
print(flag)