5 Commits

Author SHA1 Message Date
Mas0nShi
0fc4d945fa #38. Adapted v1.2.3-x64-linux 2022-03-25 21:10:28 +08:00
Mas0nShi
08041c56e1 #38. Adapted v1.2.3 for Windows 2022-03-24 15:28:57 +08:00
Mas0nShi
b3e809d2af #38. Adapted v1.2.3 for Windows 2022-03-24 15:24:32 +08:00
mason
768f9e870a updaate aesIv for 1.2.2-dev 2022-03-15 12:24:26 +08:00
mason
4d15e2a665 updaate aesKey for 1.2.2-dev 2022-03-14 21:07:22 +08:00

View File

@@ -28,7 +28,8 @@ if DEBUG:
else:
log.add(sys.stderr, level="INFO")
AES_KEY = struct.pack("<4Q", *[0x4B029A9482B3E14E, 0xF157FEB4B4522F80, 0xE25692105308F4BE, 0x6DD58DDDA3EC0DC2])
AES_KEY = struct.pack("<4Q", *[0x5CA1FF4578961A92, 0x73FD782E4D01350F, 0x031E97ED94CF8462, 0x21977F64C78BC7D6])
AES_IV = struct.pack("<4L", *[0x33706964, 0x5387CD15, 0xD05F336D, 0x53F82468])
def _mkDir(_path):
@@ -43,10 +44,10 @@ def _mkDir(_path):
def decScript(b64: bytes, prettify: bool):
lCode = b64decode(b64)
# iv: the first 16 bytes of the file
aesIv = lCode[0:16]
# iv
aesIv = AES_IV
# cipher text
cipherText = lCode[16:]
cipherText = lCode[:]
# AES 256 CBC
ins = AES.new(key=AES_KEY, iv=aesIv, mode=AES.MODE_CBC)
code = unpad(ins.decrypt(cipherText), 16, 'pkcs7')
@@ -106,10 +107,10 @@ def extractWdec(asarPath, path, prettify):
def encScript(_code: bytes, compress):
if compress:
_code = jsmin(_code.decode(), quote_chars="'\"`").encode()
aesIv = urandom(16)
aesIv = AES_IV
cipherText = _code
ins = AES.new(key=AES_KEY, iv=aesIv, mode=AES.MODE_CBC)
enc = aesIv + ins.encrypt(pad(cipherText, 16, 'pkcs7'))
enc = ins.encrypt(pad(cipherText, 16, 'pkcs7'))
lCode = b64encode(enc)
return lCode