Skip to content

zero199901/pyarmor-Unpack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

**_Lock 模块反编译分析报告

📋 基本信息

  • 模块名称: **_Lock
  • 版本: 2.0
  • 产品: Comfyui_**_Lock_2025
  • 作者: **
  • Python 版本: 3.10/3.11
  • PyArmor 版本: 9.1.7 (pro)
  • 序列号: *****

🔧 核心功能

1. 机器指纹识别

函数: pyarmor__4()

功能说明:

  • 生成唯一的机器标识符(机器指纹)
  • 使用硬件 UUID 作为基础数据
  • 通过 SHA256 哈希生成最终 ID

实现细节:

# Windows 系统
- 使用 WMI 接口获取 Win32_ComputerSystemProduct.UUID
- 需要安装 pythoncom  wmi 模块

# Linux 系统
- 读取 /sys/class/dmi/id/product_uuid 文件
- 直接获取系统 DMI UUID

# 最终生成
machine_id = sha256(uuid + 'comfyui_salt').hexdigest()

2. 在线授权验证

函数: pyarmor__5(license_key, admin_uuid, authorized_workflow)

API 端点: *****/api/validate

请求参数:

{
  "license_key": "许可证密钥",
  "machine_id": "机器唯一标识",
  "embedded_admin_uuid": "管理员UUID(可选)",
  "embedded_authorized_workflow": "授权工作流(可选)"
}

功能特性:

  • ✅ 验证许可证合法性
  • ✅ 绑定机器ID(防止跨机器使用)
  • ✅ 支持嵌入式授权信息
  • ✅ 结果缓存机制(避免重复验证)
  • ✅ 重试机制(最多3次)

返回值:

(bool, str)  # (验证是否成功, 错误消息)

3. 错误记录系统

函数: pyarmor__3(license_key)

API 端点: *****/api/log_password_error

功能说明:

  • 记录密码解密失败事件
  • 服务器端错误次数统计
  • 错误次数限制机制(防止暴力破解)

请求参数:

{
  "machine_id": "机器唯一标识",
  "error_type": "password_decrypt_failed",
  "license_key": "许可证密钥(可选)"
}

响应数据:

{
  "restricted": false,    // 是否被限制
  "error_count": 0        // 错误次数
}

4. 内存管理

函数:

  • pyarmor__1() - 清理缓存
  • pyarmor__2() - 定时清理线程

工作机制:

# 每 12 小时自动执行一次清理
while True:
    time.sleep(43200)  # 12小时 = 43200秒
    清空授权缓存
    清空其他缓存
    通知 ComfyUI 释放内存

清理内容:

  • pyarmor__81 - 授权验证缓存
  • pyarmor__82 - 其他缓存数据
  • ComfyUI 的 prompt_queue 内存

📦 依赖库

系统库

  • os - 文件和路径操作
  • json - JSON 数据处理
  • hashlib - SHA256 哈希
  • platform - 平台检测
  • threading - 多线程
  • time - 时间操作

第三方库

  • requests - HTTP 请求
  • numpy - 数值计算
  • cryptography - 加密功能
    • Cipher - 加密器
    • a**orithms - 加密算法
    • modes - 加密模式
    • Fernet - Fernet 加密

ComfyUI 特定

  • server.PromptServer - ComfyUI 服务器
  • aiohttp.web - Web 框架
  • folder_paths - 路径管理
  • comfy.sd - Stable Diffusion
  • comfy.utils - 工具函数

Windows 特定 (可选)

  • pythoncom - COM 接口
  • wmi - Windows 管理接口

🔐 安全机制

1. 机器绑定

  • 每个许可证绑定到特定机器
  • 通过硬件 UUID 生成唯一标识
  • 防止许可证在多台机器上使用

2. 在线验证

  • 实时向服务器验证许可证
  • 服务器端控制授权状态
  • 可远程撤销授权

3. 错误限制

  • 记录密码解密失败次数
  • 达到阈值后限制访问
  • 防止暴力破解

4. 缓存机制

  • 验证结果本地缓存
  • 减少网络请求
  • 提高响应速度

📊 全局变量

变量名 类型 说明
pyarmor__70 str 作者标识: '**'
pyarmor__71 str 模块名称: '**_Lock'
pyarmor__72 str 节点描述: '运行节点'
pyarmor__73 str 版本号: '2.0'
pyarmor__74 str 版本号备份: '2.0'
pyarmor__75 str 产品名称: 'Comfyui_**_Lock_2025'
pyarmor__76 str 模块根目录路径
pyarmor__77 str 验证 API: 'https://****/api/validate'
pyarmor__78 str 错误日志 API: 'https://****/api/log_password_error'
pyarmor__79 str 许可证文件: 'license.json'
pyarmor__80 str/None 缓存的机器ID
pyarmor__81 dict 授权验证缓存
pyarmor__82 dict 其他缓存
pyarmor__83 bool 内存清理标志
pyarmor__84 bool 错误限制标志

🔄 工作流程

授权验证流程

1. 用户输入许可证密钥
   ↓
2. 获取机器唯一标识 (pyarmor__4)
   ↓
3. 检查本地缓存 (pyarmor__81)
   ├─ 命中 → 返回缓存结果
   └─ 未命中 ↓
4. 构建验证请求
   ↓
5. 发送到验证 API (pyarmor__77)
   ├─ 成功 → 缓存结果 → 返回成功
   ├─ 失败 → 重试 (最多3次)
   └─ 错误 → 记录错误 (pyarmor__3) → 返回失败

错误处理流程

1. 密码解密失败
   ↓
2. 调用 pyarmor__3(license_key)
   ↓
3. 检查是否已被限制 (pyarmor__84)
   ├─ 已限制 → 直接返回
   └─ 未限制 ↓
4. 获取机器ID
   ↓
5. 发送到错误日志 API (pyarmor__78)
   ↓
6. 接收响应
   ├─ restricted=True → 设置限制标志
   └─ restricted=False → 返回错误次数

⚠️ 注意事项

代码完整性

  • ⚠️ 反编译代码可能不完整
  • ⚠️ 部分逻辑存在缺失或错误
  • ⚠️ 变量名已被混淆 (pyarmor__XX)
  • ✅ 建议参考反汇编文件 (.das) 获取完整信息

安全性

  • 🔒 许可证密钥通过 HTTPS 传输
  • 🔒 机器ID 使用 SHA256 哈希
  • 🔒 支持错误次数限制
  • ⚠️ 本地缓存可能存在安全风险

依赖性

  • ⚠️ 需要网络连接进行在线验证
  • ⚠️ Windows 系统需要 WMI 模块
  • ⚠️ 依赖外部 API 服务器可用性

📁 文件清单

├── **_lock.py                      # 原始混淆文件 (397KB)
├── **_lock.py.1shot.cdc.py         # 反编译源代码 (8.4KB)
├── **_lock_annotated.py            # 中文注释版本
├── README_CN.md                    # 本文档
└── pyarmor_runtime_007687/         # PyArmor 运行时
    ├── __init__.py
    └── windows_x86_64/
        └── pyarmor_runtime.pyd

🔬 技术分析

混淆技术

  • 工具: PyArmor 9.1.7 (pro)
  • 方法: 字节码加密 + 名称混淆
  • 强度: 高级混淆,包含运行时保护

加密参数

  • AES 密钥: ********
  • AES Nonce: ********
  • 盐值: comfyui_salt

API 服务器

  • 域名: ****
  • 协议: HTTPS
  • 端点:
    • /api/validate - 授权验证
    • /api/log_password_error - 错误记录

📚 参考资料


生成时间: 2025-10-12 反编译工具: Pyarmor-Static-Unpack-1shot v0.2.1 分析者: AI Assistant

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages