https://pan.baidu.com/s/1o8fVxkI
TIPS:Python 2.7 提取密码:kd37
题解:
Py.pyc反编译成Python源代码
import base64
def encode(message):
s = ''
for i in message:
x = ord(i) ^ 32
x = x + 16
s += chr(x)
return base64.b64encode(s)
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
flag = ''
print 'Input flag:'
flag = raw_input()
if encode(flag) == correct:
print 'correct'
else:
print 'wrong'
import base64
def encode(message):
s = ''
for i in message:
x = ord(i) ^ 32
x = x + 16
s += chr(x)
return base64.b64encode(s)
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
flag = ''
print 'Input flag:'
flag = raw_input()
if encode(flag) == correct:
print 'correct'
else:
print 'wrong'
XlNkVmtUI1MgXWBZXCFeKY+AaXNt
base64解密
^SdVkT#S ]`Y\!^)ism
有不可映射字符
^SdVkT#S ]`Y\!^)\x8f\x80ism
程序直接逆序解码
import base64
correct = 'XlNkVmtUI1MgXWBZXCFeKY+AaXNt'
key=base64.b64decode(correct)
print(key)
flag = ''
for i in key:
flag+=chr((ord(i)-16)^32)
print(flag)
nctf{d3c0mpil1n9_PyC}