放逐 - 放逐
type: channel
link: https://blog.8cdn.cn/author/1/
description: 放逐
items: 帝国时代4修改器
items: linux源更换
items: 虚拟币涨幅监测
items: win安装adb和Frida
items: 短信通知
items: 安装chatwoot
items: cdnfly开心版搭建
items: error
items: nginx防止源站泄露IP
items: Mysql中使用load_file的方法

帝国时代4修改器
type: item
date: 2025-06-22T17:12:41+08:00
description: 帝国时代4修改器ui界面#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 🎮 帝国时代4修改器 v1.0 by简彦36827 Age of Empires IV Cheat Tool - Modern GUI Version 现代化GUI界面，包含： - 左侧菜单导航 - 游戏注入设置 - 快捷键管理 - 全局热键控制 - 执行日志查看 - 版本自动检测 """ import tkinter as tk from tkinter import ttk, messagebox, filedialog, simpledialog import json import os import time import threading import keyboard import pyautogui import shutil import requests import webbrowser from pathlib import Path class ModernAOECheatGUI: def __init__(self): """初始化现代化GUI界面""" # 版本信息 self.version = "1.0" self.version_url = "https://www.8cdn.cn/cln_ver.js" self.download_url = "https://oss.8cdn.cn/" # 配置文件 self.config_file = "aoe_cheat_config.json" self.config = self.load_config() # 运行状态 self.is_running = False self.hotkey_listener = None # 设置pyautogui pyautogui.PAUSE = 0.05 pyautogui.FAILSAFE = True # 创建主窗口 self.root = tk.Tk() self.setup_window() self.create_widgets() self.setup_hotkeys() # 启动时检查版本 - 延迟执行确保UI组件已创建 self.root.after(1000, lambda: threading.Thread(target=self.check_version, daemon=True).start()) def setup_window(self): """设置主窗口""" self.root.title("🎮 帝国时代4修改器 v1.0 by简彦36827") self.root.geometry("1000x750") self.root.resizable(True, True) # 设置窗口图标（如果有的话） try: self.root.iconbitmap("icon.ico") except: pass # 设置现代化主题 style = ttk.Style() # 尝试使用vista或clam主题 available_themes = style.theme_names() if 'vista' in available_themes: style.theme_use('vista') elif 'clam' in available_themes: style.theme_use('clam') else: style.theme_use('default') # 重新设计的协调配色方案 - 浅色按钮配黑色文字 self.colors = { 'bg_primary': '#93c5fd', # 浅蓝色（主色调） 'bg_secondary': '#60a5fa', # 中蓝色（辅助色） 'bg_accent': '#dbeafe', # 很浅蓝色（强调色） 'bg_light': '#f0f9ff', # 极浅蓝色（背景色） 'text_primary': '#ffffff', # 纯白（按钮文字） 'text_secondary': '#1f2937', # 深灰色（正文） 'text_dark': '#111827', # 更深的文字色（标题） 'success': '#86efac', # 浅绿色（成功） 'warning': '#fde68a', # 浅黄色（警告） 'danger': '#fca5a5', # 浅红色（危险） 'sidebar_bg': '#f8fafc', # 侧边栏背景（浅灰白） 'content_bg': '#ffffff', # 内容区背景（纯白） 'border': '#e5e7eb', # 边框（浅灰） …

linux源更换
type: item
date: 2025-03-14T05:11:00+08:00
description: linux系统一键更换源#!/bin/bash ## Author: SuperManito ## Modified: 2025-02-20 ## License: MIT ## GitHub: https://github.com/SuperManito/LinuxMirrors ## Website: https://linuxmirrors.cn ## 定制方法 # 只需要在头部（此处）定义全局变量即可，具体详见官网文档，简单写几个例子 # SOURCE="www.example.com" # 指定软件源地址 # BRANCH="branch" # 指定软件源仓库 # WEB_PROTOCOL="https" # 指定 WEB 协议 ## 软件源列表 # 国内格式："软件源名称@软件源地址" mirror_list_default=( "阿里云@mirrors.aliyun.com" "腾讯云@mirrors.tencent.com" "华为云@repo.huaweicloud.com" "网易@mirrors.163.com" "火山引擎@mirrors.volces.com" "清华大学@mirrors.tuna.tsinghua.edu.cn" "北京大学@mirrors.pku.edu.cn" "浙江大学@mirrors.zju.edu.cn" "南京大学@mirrors.nju.edu.cn" "兰州大学@mirror.lzu.edu.cn" "上海交通大学@mirror.sjtu.edu.cn" "重庆邮电大学@mirrors.cqupt.edu.cn" "中国科学技术大学@mirrors.ustc.edu.cn" "中国科学院软件研究所@mirror.iscas.ac.cn" ) # 中国大陆教育网格式："软件源名称@软件源地址" mirror_list_edu=( "北京大学@mirrors.pku.edu.cn" "北京交通大学@mirror.bjtu.edu.cn" "北京外国语大学@mirrors.bfsu.edu.cn" "北京邮电大学@mirrors.bupt.edu.cn" "重庆大学@mirrors.cqu.edu.cn" "重庆邮电大学@mirrors.cqupt.edu.cn" "大连东软信息学院@mirrors.neusoft.edu.cn" "电子科技大学@mirrors.uestc.cn" "华南农业大学@mirrors.scau.edu.cn" "华中科技大学@mirrors.hust.edu.cn" "吉林大学@mirrors.jlu.edu.cn" "荆楚理工学院@mirrors.jcut.edu.cn" "江西理工大学@mirrors.jxust.edu.cn" "兰州大学@mirror.lzu.edu.cn" "南京大学@mirrors.nju.edu.cn" "南京工业大学@mirrors.njtech.edu.cn" "南京邮电大学@mirrors.njupt.edu.cn" "南方科技大学@mirrors.sustech.edu.cn" "南阳理工学院@mirror.nyist.edu.cn" "齐鲁工业大学@mirrors.qlu.edu.cn" "清华大学@mirrors.tuna.tsinghua.edu.cn" "山东大学@mirrors.sdu.edu.cn" "上海科技大学@mirrors.shanghaitech.edu.cn" "上海交通大学（思源）@mirror.sjtu.edu.cn" "上海交通大学（致远）@mirrors.sjtug.sjtu.edu.cn" "武昌首义学院@mirrors.wsyu.edu.cn" "西安交通大学@mirrors.xjtu.edu.cn" "西北农林科技大学@mirrors.nwafu.edu.cn" "浙江大学@mirrors.zju.edu.cn" "中国科学技术大学@mirrors.ustc.edu.cn" ) # 海外格式："洲 · 软件源名称 · 国家/地区@软件源地址"，修改前请先前往官网阅读添加规范 mirror_list_abroad=( "亚洲 · xTom · 香港@mirrors.xtom.hk" "亚洲 · 01Link · 香港@mirror.01link.hk" "亚洲 · 新加坡国立大学(NUS) · 新加坡@download.nus.edu.sg/mirror" "亚洲 · SG.GS · 新加坡@mirror.sg.gs" "亚洲 · xTom · 新加坡@mirrors.xtom.sg" "亚洲 · 自由软件实验室(NCHC) · 台湾@free.nchc.org.tw" …

虚拟币涨幅监测
type: item
date: 2025-01-25T14:26:00+08:00
description: 因为有需要编写了一款虚拟币检测达到某个价格时发送Wxpusher通知在linux上服务器后台挂机启动nohup python3 x.pyimport requests import time from datetime import datetime # 配置 API_URL = "https://api.huobi.pro/market/detail?symbol=melaniausdt" APP_TOKEN = "token" WXPUSER_URL = "https://wxpusher.zjiecode.com/api/send/message" USER_ID = "uid" # 设置正确的UID # 价格阈值 PRICE_THRESHOLDS = [6,7,8,9,10,11,12] # 通知状态记录 notification_states = {threshold: False for threshold in PRICE_THRESHOLDS} def send_notification(price, threshold): """发送WxPusher通知""" current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") message = f"当前价格 {price} 已超过{threshold}\n{current_time}" # 构建GET请求URL params = { "appToken": APP_TOKEN, "content": message, "contentType": 1, "uid": USER_ID, } try: print(f"正在发送通知，参数: {params}") # 调试信息 response = requests.get(WXPUSER_URL, params=params) print(f"通知接口响应: {response.text}") # 调试信息 response_data = response.json() if response.status_code == 200 and response_data.get('code') == 1000: print(f"通知发送成功: {message}") else: print(f"通知发送失败: {response.text}") print(f"失败状态码: {response.status_code}") print(f"失败响应: {response_data}") except Exception as e: print(f"发送通知时出错: {str(e)}") import traceback print(f"详细错误信息: {traceback.format_exc()}") def check_price(): """检查价格并在需要时发送通知""" try: print("正在获取价格数据...") # 调试信息 response = requests.get(API_URL) pass data = response.json() pass if data["status"] == "ok": current_price = float(data["tick"]["close"]) print(f"当前价格: {current_price}") for threshold in PRICE_THRESHOLDS: if current_price > threshold: # 如果价格超过阈值且之前没有发送过通知 if not notification_states[threshold]: send_notification(current_price, threshold) notification_states[threshold] = True else: # 价格低于阈值，重置通知状态 notification_states[threshold] = False else: print(f"API返回状态不正常: {data}") # 调试信息 except Exception as e: print(f"检查价格时出错: {str(e)}") print(f"错误类型: {type(e)}") # 调试信息 import traceback print(f"详细错误信息: {traceback.format_exc()}") # 打印完整错误堆栈 def main(): print("价格监控启动...") print(f"监控阈值: {PRICE_THRESHOLDS}") # 显示监控的价格阈值 print("开始循…

win安装adb和Frida
type: item
date: 2025-01-19T00:17:00+08:00
description: 在 Windows 上安装 ADB (Android Debug Bridge) 的步骤：1.下载 Android SDK Platform Tools：下载 Windows 版本的 ZIP 文件（platform-tools-latest-windows.zip）https://oss.8cdn.cn/d/tools/platform-tools-latest-windows.zip?sign=urJhw-vjEQNyDbpyLD48TULZZ5p7OtH7KTgpdHMmpVY=:02.解压文件：将下载的 ZIP 文件解压到一个固定位置比如：C:\adb 或 C:\Android\platform-tools3.添加环境变量：右键 "此电脑" -> "属性" -> "高级系统设置" -> "环境变量"在 "系统变量" 中找到 "Path"点击 "编辑" -> "新建"添加 ADB 所在路径（如 C:\adb 或 C:\Android\platform-tools）点击 "确定" 保存3.验证安装：打开命令提示符（CMD）输入 adb version如果显示版本信息，说明安装成功在 Windows 上安装 Frida的步骤：查看架构版本adb shell getprop ro.product.cpu.abi下载https://oss.8cdn.cn/d/tools/frida-server-16.5.9-android-x86_64.zip?sign=wsDAIBjPeOH2dXSt5O54rfb6MGDxWGdbRFPzz9o-w4U=:0解压进入下载目录cd C:\Users\36827\Downloads\frida-server-16.5.9-android-x86_64推送 frida-server# 解压 .xz 文件后 adb push frida-server /data/local/tmp/ adb shell "chmod 755 /data/local/tmp/frida-server"启动 frida-server：adb root # 如果需要的话 adb shell "/data/local/tmp/frida-server &"在打开新窗口验证frida-ps -UFrida注入代码frida -U -l hook.js -n "app名字"

短信通知
type: item
date: 2025-01-13T23:08:00+08:00
description: root后把文件移动到/data/adb/service.d目录下#!/system/bin/sh OUTPUT_FILE="/sdcard/sms_temp.txt" URL="http://cdn-api.8cdn.cn/ak.php" su -c " echo '开始获取短信...' # 创建临时文件 touch $OUTPUT_FILE chmod 666 $OUTPUT_FILE # 上传函数 upload_content() { local ENCODED_CONTENT=\$1 local RESPONSE=\$(curl -s -L -X POST \"$URL\" \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'User-Agent: Mozilla/5.0' \ --data-urlencode \"content=\$ENCODED_CONTENT\") echo \"收到响应: \$RESPONSE\" if echo \"\$RESPONSE\" | grep -i \"success\" > /dev/null; then echo '上传成功' return 0 else echo \"上传失败: \$RESPONSE\" return 1 fi } while true; do # 清空临时文件并写入UTF-8 BOM echo -ne '\\xEF\\xBB\\xBF' > $OUTPUT_FILE # 获取所有短信 content query --uri content://sms/inbox \ --projection 'date:address:body' \ --sort 'date DESC' | while read -r line; do if [ ! -z \"\$line\" ]; then # 提取时间戳 timestamp=\$(echo \"\$line\" | grep -o 'date=[0-9]*' | cut -d'=' -f2) # 格式化时间（使用实际时间戳） current_time=\$(date +%s%3N) date=\$(date -d @\$((\$current_time/1000)) '+%Y-%m-%d %H:%M:%S') # 提取发送者和消息 sender=\$(echo \"\$line\" | grep -o 'address=[^,]*' | cut -d'=' -f2) message=\$(echo \"\$line\" | grep -o 'body=.*' | cut -d'=' -f2-) # 追加到文件（确保UTF-8编码） echo \"时间: \$date\" >> $OUTPUT_FILE echo \"发送者: \$sender\" >> $OUTPUT_FILE echo \"信息 : \$message\" >> $OUTPUT_FILE echo \"------------------\" >> $OUTPUT_FILE fi done echo '正在上传所有短信...' # 编码并上传 ENCODED_CONTENT=\$(base64 $OUTPUT_FILE | tr -d '\n') # 尝试上传，最多重试3次 MAX_RETRIES=3 RETRY_COUNT=0 SUCCESS=0 while [ \$RETRY_COUNT -lt \$MAX_RETRIES ] && [ \$SUCCESS -eq 0 ]; do if upload_content \"\$ENCODED_CONTENT\"; then SUCCESS=1 else RETRY_COUNT=\$((RETRY_COUNT + 1)) if [ \$RETRY_COUNT -lt \$MAX_RETRIES ]; then echo \"重试第 \$RETRY_COUNT 次...\" sleep 2 fi fi done if [ \$SUCCESS -eq 0 ]; then echo \"上传失败，已达到最大重试次数\" fi # 等待30秒 sleep 10 done " 接收的代码<?php if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['content'])) { // 获取当前时间 $update_time = date('Y-m-d H:i:s'); // 解码Base64内容 $decoded_content = base64_decode($_POST['…

安装chatwoot
type: item
date: 2024-11-23T17:31:00+08:00
description: 更新yum源bash <(curl -sSL https://linuxmirrors.cn/main.sh) sudo apt update安装dockersudo apt install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install docker-ce sudo docker --version sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json/ <<-'EOF' { "registry-mirrors": ["https://docker.1ms.run"] } EOF sudo chown root:root /etc/docker/daemon.json sudo chmod 644 /etc/docker/daemon.json sudo systemctl daemon-reload安装chatwoot# Download the env file template wget -O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example # Download the Docker compose template wget -O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml 准备数据库 docker compose run --rm rails bundle exec rails db:chatwoot_prepare 5.启动服务 docker compose up -d docker compose restart docker compose down docker stop chatwoot-sidekiq-1 chatwoot-rails-1 chatwoot-redis-1 chatwoot-postgres-1 进入docker docker compose ps修改.env文件和docker-compose.yaml.env文件# Learn about the various environment variables at # https://www.chatwoot.com/docs/self-hosted/configuration/environment-variables/#rails-production-variables # Used to verify the integrity of signed cookies. so ensure a secure value is set # SECRET_KEY_BASE should be alphanumeric. Avoid special characters or symbols. # Use `rake secret` to generate this variable SECRET_KEY_BASE=P6VD3fsciL7QYOclNbn4w8Ew01PSDNm6UvAqL9gp0rQlfDTM2qMe2QpMwwiKyK6 # Replace with the URL you are planning to use for your app FRONTEND_URL=http://chat.8cdn.cn # To use a dedicated URL for help center pages # HELPCENTER_URL=http://0.0.0.0:3000 #…

cdnfly开心版搭建
type: item
date: 2024-09-05T15:46:00+08:00
description: 仅支持centos7 web目录为云端验证文件，请自行搭建wget http://cdn-api.8cdn.cn/web.tar.gz tar -zxvf web.tar.gz主控和节点机器都需要修改hosts文件0.0.0.0改成(自己搭建的验证服务器IP)vi /etc/hosts 0.0.0.0 auth.cdnfly.cn monitor.cdnfly.cn 0.0.0.0 auth.cdnfly.cn monitor.cdnfly.cn主控登录地址为: http://主控IP 管理员账号和密码： wenjian/wenjian 普通用户账号和密码： ceshi/ceshiv5.1.13主控wget http://cdn-api.8cdn.cn/master.sh chmod +x master.sh ./master.sh --es-dir /home/esv5.1.16被控wget http://cdn-api.8cdn.cn/agent.sh chmod +x agent.sh ./agent.sh --master-ver v5.1.13 --master-ip --es-ip --es-pwd官方最新公告 尊敬的cdnfly用户: 目前发现登录安全漏洞，需要及时按照如下方法来临时修复。找-个只有你知道的域名,这个域名用于管理员登录。 如的域名，不用带http://,路径为:系统管理--->系统设置--->用户相关，限制管理员只能从此域名登录云端监控节点php版本7.1 需要卸载bt_safe拓展才可以tcp类型监控 允许exec函数才可以ping类型监控

error
type: item
date: 2024-01-29T19:09:00+08:00
description: windows更新错误cmd执行net stop wuauserv net stop cryptSvc net stop bits net stop msiserver 删除C:\Windows\SoftwareDistributioncdn回源配置打开nginx配置，http模块填写如下内容：set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;xiaomiROM限速解决修改电脑hosts文件,添加以下2行内容保存183.136.207.132 bigota.d.miui.com183.136.207.132 hugeota.d.miui.com上面的不行, 就删掉之后, 再换成这两行 保存47.74.196.250 bigota.d.miui.com47.74.196.250 hugeota.d.miui.com上面的不行, 就删掉之后, 再换成这两行 保存123.6.13.6 bigota.d.miui.com123.6.13.6 hugeota.d.miui.com上面的不行, 就删掉之后, 再换成这两行 保存110.43.121.13 bigota.d.miui.com110.43.121.13 hugeota.d.miui.com上面的不行, 就删掉之后, 再换成这两行 保存110.43.121.249 bigota.d.miui.com110.43.121.249 hugeota.d.miui.com阿里云卸载阿里云盾卸载阿里云盾监控wget http://update.aegis.aliyun.com/download/uninstall.sh sh uninstall.sh wget http://update.aegis.aliyun.com/download/quartz_uninstall.sh sh quartz_uninstall.sh删除残留pkill aliyun-service rm -fr /etc/init.d/agentwatch /usr/sbin/aliyun-service rm -rf /usr/local/aegis*手动安装 — 面板主控机如果一键脚本提示不支持当前系统版本时，可以尝试使用手动安装的方式。1. 安装 docker（必须）curl -fsSL https://get.docker.com | sudo bash -s docker && sudo systemctl enable --now docker # 国内机器安装可以选择使用阿里镜像 # curl -fsSL https://get.docker.com | sudo bash -s docker --mirror Aliyun && sudo systemctl enable --now docker # 如果当前执行安装命令的不是 root 用户，请执行下面部分 # =================非root用户执行================== sudo groupadd docker sudo usermod -aG docker $USER newgrp docker # =================非root用户执行================== 2. 安装 docker-compose（必须）sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose # 如果 /usr/local/bin 不在环境变量 PATH 里 # ============================可选================================ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # ============================可选================================ 3. 生成 SSH 密钥（建议，非必须）此步操作目的为让面板服务器通过密钥连接被控机 ssh ， 可以提高被控机安全性，非必须步骤 ，如果不采用密钥连接方式，后续在面板添加被控机使可以选择使用密码连接的方式。# 如果面板服务器并没有已经生成好的 ssh 密钥 ssh-keygen -t rs…

nginx防止源站泄露IP
type: item
date: 2024-01-29T19:03:00+08:00
description: 在安装完成NGINX环境后，通常为了避免攻击，可能会使用一些WAF/CDN来保护源站，但是如果配置不恰当，可能会导致源IP泄露。网络上有提供很多查询解析记录的网站，稍微不注意可能就躺枪，毕竟发动一次DDCC服务实在廉价啦。443端口泄露nginx服务器本身存在一个问题，当你没有设置默认网站时，通过IP访问会解析到第一个默认站点，而在加入https访问时，会通过第一个已经配置的SSL站点来连接，导致源站被暴露。可以通过配置一个自签的证书到默认站点来防止。在某个目录创建ssl.crt和ssl.key，一份长期有效的自签空白证书ssl.crt-----BEGIN CERTIFICATE----- [binary] -----END CERTIFICATE-----ssl.key-----BEGIN RSA PRIVATE KEY----- [binary] -----END RSA PRIVATE KEY-----我现在使用的是宝塔面板，默认路径（/www/server/panel/vhost/nginx/0.default.conf），不同的环境可能位置不同server { listen 80; server_name _; index index.html; root /www/server/nginx/html;#这里填写web默认目录 # 允许本地访问 if ($remote_addr = "127.0.0.1") { # 正常处理请求 break; } # 对其他IP返回444 return 444; } server { listen 443 ssl; server_name _; ssl_certificate /xxx/ssl.crt;#这里填写证书绝对路径 ssl_certificate_key /xxx/ssl.key;#这里填写证书绝对路径 ssl_protocols TLSv1TLSv1.1TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; index index.html; root /www/server/nginx/html;#这里填写web默认目录 return444; }最后在宝塔面板重载NGINX，这样服务器在收到未绑定域名访问的时候会自己断开链接反会HTTP444，这样就大大降低存在风险，防君子不能放小人

Mysql中使用load_file的方法
type: item
date: 2024-01-11T20:42:00+08:00
description: 网页上显示出hex编码<%@ page import="java.sql.*" %> <%@ page import="java.io.PrintWriter" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.TimeZone" %> Display File Content <% Connection connection = null; Statement statement = null; ResultSet resultSet = null; try { // 数据库连接信息 String jdbcUrl = "jdbc:mysql://localhost:3306/ceshi?useSSL=false&serverTimezone=" + TimeZone.getDefault().getID(); String user = "root"; String password = "root"; // 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连接 connection = DriverManager.getConnection(jdbcUrl, user, password); statement = connection.createStatement(); // 查询文件内容 String sql = "SELECT HEX(LOAD_FILE('/home/1.txt')) AS hex_content"; resultSet = statement.executeQuery(sql); if (resultSet.next()) { String hexContent = resultSet.getString("hex_content"); // 在网页上显示文件内容 out.println(hexContent); } else { out.println(" File not found or permission denied. "); } } catch (Exception e) { e.printStackTrace(); } finally { // 关闭数据库连接 try { if (resultSet != null) resultSet.close(); if (statement != null) statement.close(); if (connection != null) connection.close(); } catch (SQLException e) { } } %> python代码hex转成import binascii # 读取hex编码的内容 with open('/home//1.txt', 'r') as file: hex_content = file.read().strip() # 将hex转换为bytes binary_content = binascii.unhexlify(hex_content) # 将bytes写入jar文件 with open('/home/1.jar', 'wb') as output_file: output_file.write(binary_content) print("转换完成，输出文件：/home/output.jar") mysql连接地址下载https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar