A、程序分析
1、发现文件为pyc类型,判断为py脚本编译后文件
pip install uncompyle6 安装uncompyle6获取程序源码
----------------------------------------------------------------
import base64
def encode(message):
s = ''
for i in message:
x = ord(i) ^ 32
x = x + 16
s += chr(x)
return base64.b64encode(s)
ord()
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
flag = ''
print 'Input flag:'
flag = raw_input()
if encode(flag) == correct:
print 'correct'
else:
print 'wrong'
----------------------------------------------------------------
2、flag -> for 循环加密单个字符 -> 拼接 -> 编码 ->XlNkVmtUI1MgXWBZXCFeKY+AaXNt
B、思路
XlNkVmtUI1MgXWBZXCFeKY+AaXNt -> 解码 -> for 循环单个字符解密 -> 拼接 -> flag
C、代码
#/usr/bin/python
import base64
def encode(message):
rowdata = base64.b64decode(message)
s = ''
for i in rowdata:
x = ord(i)-16
x = x ^ 32
s += chr(x)
return s
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
flag = encode('XlNkVmtUI1MgXWBZXCFeKY+AaXNt')
print(flag)