5.这题是一道简单的upx压缩壳问题,因为我还没有学习壳的相关知识,就借助工具来进行了 。工具在后面会给出,检查壳的和解压缩的。
完成后直接拉近IDA中mian函数里就直接出现flag.
6.因为是elf文件,直接拉近IDA中,进入main函数进行分析。
可以分析程序得知,v8和v7异或就是所要的flag。应当注意的是,v7是十进制,转化成16进制在程序中是大端存储,应该反过来看。
7.32位elf文件,拉近32位ida中解析,main函数F5会发现:
点进去就是flag:
8.32位elf文件,拉近IDA中解析,会发现有个解密函数。
可以发现其中的算法逻辑,就是将字符串中的字符减去依次1-5。
s =[0x3a,0x36,0x37,0x3b,0x80,0x7a,0x71,0x78,0x63,0x66,0x73,0x67,0x62,0x65,0x73,0x60,0x6b,0x71,0x78,0x6a,0x73,0x70,0x64,0x78,0x6e,0x70,0x70,0x64,0x70,0x64,0x6e,0x7b,0x76,0x78,0x6a,0x73,0x7b,0x80]
key = [1,2,3,4,5]
flag = ''
for i in range(len(s)):
flag += chr(s[i]-key[i%len(key)])
print(flag)