发现程序是变表的 base64 且在base64加密之后判断了 加密结果 的大小写范围,让大小写相互转换。
变表
base64加密
大小写转换
# -*- 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