某app抓包解密算法脚本
emer
2026-04-06
3
0
to 某ai应用java层加密算法解密脚本
创建全局变量config.py
填写内容为
AES_KEY = "Love_AI!@#.key?*"
BLOCK_SIZE = 16
CHARSET = "utf-8"
RAW_INPUT = r"""
这里填写加密文或者修改好的json,json需要带去它原始的引号
"""
创建一个main.py(或者什么名字都可以,反正运行它)
下边是解密或者加密逻辑
import base64
from Crypto.Cipher import AES
import config
def aes_decrypt(data):
key = config.AES_KEY.encode(config.CHARSET)
try:
encrypted_data = base64.b64decode(data)
cipher = AES.new(key, AES.MODE_ECB)
decrypted = cipher.decrypt(encrypted_data)
return decrypted.rstrip(b'\x00').decode(config.CHARSET)
except:
return None
def aes_encrypt(data):
key = config.AES_KEY.encode(config.CHARSET)
try:
plain_bytes = data.encode(config.CHARSET)
remainder = len(plain_bytes) % config.BLOCK_SIZE
if remainder != 0:
plain_bytes += (b'\x00' * (config.BLOCK_SIZE - remainder))
cipher = AES.new(key, AES.MODE_ECB)
encrypted_bytes = cipher.encrypt(plain_bytes)
return base64.b64encode(encrypted_bytes).decode(config.CHARSET)
except Exception as e:
return f"加密失败: {str(e)}"
def start_engine():
data = config.RAW_INPUT.strip()
if not data:
print("\n[!] 提示: config.py 中的 RAW_INPUT 是空的,请填入数据后再运行。")
return
print(f"\n{'='*20} 加密解密逻辑 {'='*20}")
if data.startswith('{'):
print("[状态] 加密中")
result = aes_encrypt(data)
print("-" * 50)
print("生成密文 (直接填入抓包工具):")
print(result)
else:
print("[状态] 解密")
result = aes_decrypt(data)
print("-" * 50)
if result:
print("解密后的明文 JSON:")
print(result)
else:
print("[错误] 解密失败!请确认数据是否为合法的 AES-ECB 密文且 Key 正确。")
print(f"{'='*53}\n")
if name == "main":
start_engine()