拿到文件,发现是一个tar文件
Tar 文件 其实就是一个压缩包
可以用7zip 打开然后提取里面的文件 也可以在 linux 系统下用指令解压
查下壳 有 upx 壳
脱个壳
拖入 ida 分析
对代码进行分析
当 v4 等于 byte_40200 时才会出flag
否则则退出
上面把字符串拷贝 但通常是按字节数拷贝 有个 size 变量控制
sizeof v4 计算v4字节 v4有 12 个数组 所以是 12 个 字节
看一下 byte_402000
key = '~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(\'&%$# !"' #'一定要加\
encrypt = [42,70,39,34,78,44,34,40,73,63,43,64]
x = []
flag = ''
for i in encrypt:
x.append(key.find(chr(i))+1)
for i in x:
flag += chr(i)
print(flag)
这是脚本