jsEncrypter插件下载地址Whwlsfb's Cloud
加载插件
编写解密的python文件
# -*- coding: utf-8 -*-
import logging
from flask import Flask, request, jsonify
from Crypto.Cipher import DES
from Crypto.Util.Padding import pad
import base64
app = Flask(__name__)
# 设置日志文件
LOG_FILE = "encrypt.log"
logging.basicConfig(filename=LOG_FILE, level=logging.INFO, format="%(asctime)s - %(message)s")
logging.basicConfig(
filename=LOG_FILE,
filemode="a",
format="%(asctime)s - %(levelname)s - %(message)s",
level=logging.INFO,
encoding="utf-8"
)
# DES ECB 加密函数(在这里改就行了)
def des_encrypt_ecb(plaintext, key="abcd1234"):
# 确保 key 为 8 字节
if len(key) != 8:
raise ValueError("DES 密钥必须是 8 字节")
# 创建 DES ECB 模式的加密器
cipher = DES.new(key.encode('utf-8'), DES.MODE_ECB)
# PKCS7 填充并加密
padded_text = pad(plaintext.encode('utf-8'), DES.block_size)
encrypted_bytes = cipher.encrypt(padded_text)
# Base64 编码
encrypted_b64 = base64.b64encode(encrypted_bytes).decode('utf-8')
return encrypted_b64
# 处理加密请求
@app.route("/", methods=["POST"])
def encrypt_handler():
try:
data = request.form # 获取 POST 请求的表单数据
payload = data.get("payload") # 获取 `payload` 参数
if not payload:
return jsonify({"error": "缺少参数: payload"}), 400
encrypt_payload = des_encrypt_ecb(payload) # 进行加密
# 输出到控制台
print(f"[+] {payload} : {encrypt_payload}")
# 写入日志文件
logging.info(f"[+] {payload} : {encrypt_payload}")
return encrypt_payload, 200 # 返回加密后的数据
except Exception as e:
return jsonify({"error": str(e)}), 500 # 返回错误信息
# 默认 GET 请求返回欢迎信息
@app.route("/", methods=["GET"])
def home():
return "^_^\n\rhello pyEncrypter!", 200
if __name__ == "__main__":
host = "127.0.0.1"
port = 1664
print("[!] ^_^")
print("[*] Python server start!")
print(f"[+] address: http://{host}:{port}")
app.run(host=host, port=port, debug=False) # 关闭 debug 模式
运行python文件,python python_server.py或者鼠标右键运行
测试连接
调用插件
爆破完后可以在日志文件中根据密文找到明文密码