发现程序是变表的 base64 且在base64加密之后判断了 加密结果 的大小写范围,让大小写相互转换。

变表

base64加密

大小写转换

EXP

# -*- coding: UTF-8 -*-
base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
diy_base = "ABCDEFQRSTUVWXYPGHIJKLMNOZabcdefghijklmnopqrstuvwxyz0123456789+/"
cipher0  = "zMXHz3TIgnxLxJhFAdtZn2fFk3lYCrtPC2l9"
new_cipher = ""

cipher = ""
for i in cipher0:
    if(i >= 'a'):
        if( i <= 'z'):
            i = chr(ord(i)-0x20)
            cipher += i
    elif (i>="A"):
        if(i<="Z"):
            i = chr(ord(i)+0x20)
            cipher += i
    else:
        cipher += i
print cipher

for i in range(len(cipher)):
    new_cipher += base[diy_base.find(cipher[i])]
print "new_cipher: " + new_cipher

flag = new_cipher.decode("base64")
print flag