-
Notifications
You must be signed in to change notification settings - Fork 14
/
solve_chinese.py
43 lines (32 loc) · 1.5 KB
/
solve_chinese.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from Crypto.Cipher import ARC4
from base64 import b64decode
import sys
import re
def chinese2b64(m):
m = m.replace(" ","")
m = re.findall("苏尔的开始(.*)苏尔苏尔完",m)
if len(m) == 0:
return False
m = m[0]
s = ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X", "C", "V", "B", "N", "M", "q", "w", "e", "r", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m", "=", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
t = ["需", "要", "意", "在", "中", "并", "没", "有", "个", "概", "念", "小", "语", "拼", "亡", "及", "注", "鲜", "新", "死", "之", "类", "阿", "努", "比", "拉", "丁", "化", "体", "系", "都", "只", "斯", "一", "套", "用", "恶", "件", "来", "标", "音", "的", "符", "号", "而", "不", "是", "字", "母", "寂", "寞", "肏", "你", "妈", "屄", "引", "脚", "吸", "员", "会", "膏", "药"]
for i,v in enumerate(s):
m = m.replace(t[i],s[i])
return m
def b64toC2(b64,key):
try:
data = b64decode(b64)
except:
return False
if data == "":
return False
rc4 = ARC4.new(key)
data = data.decode("utf-8")
dec = rc4.decrypt(bytes.fromhex(data)).decode("utf-8")
print(dec)
if __name__ == "__main__":
if len(sys.argv) != 3:
print('Usage : dec.py "chinesechars" "key"')
b64 = chinese2b64(sys.argv[1])
if b64:
b64toC2(b64,sys.argv[2])