无壳
查看ida
没有办法反汇编,只能直接看汇编了。
这里提示有输入,输入到2F地址后,然后从后往前异或,其中先最后一个字符与第一个字符异或。这里其实也有字符串的长度,推测应该是cx自身异或之后传给了cx
完整exp:
result=[0x76, 0x0E, 0x77, 0x14, 0x60, 0x06, 0x7D, 0x04, 0x6B, 0x1E,0x41, 0x2A, 0x44, 0x2B, 0x5C, 0x03, 0x3B, 0x0B, 0x33, 0x05]
flag=''
for i in range(0,len(result)-1):
result[i]^=result[i+1]
result[-1]^=result[0]
for i in range(len(result)):
flag+=chr(result[i])
print(flag)