Files
2026-05-04 19:06:51 +08:00

58 lines
1.8 KiB
Python

from module_bank import PythonToSQLite
with open("./dual_protection_/encryption_key.txt") as f:
key = f.read()
packer = PythonToSQLite(
"./dual_protection_/protected_modules.db",
key=key,
pyarmor_obfuscate=True,
pyarmor_obf_code=1,
pyarmor_obf_mod=1,
)
packer.install_importer()
import payment_system # type: ignore
mod = payment_system
print(f" ✓ 模块导入成功: {mod}")
print(f" 模块文件: {mod.__file__}")
# ========== 步骤 6: 验证模块功能正常 ==========
print("\n[步骤 5/5] 验证模块功能...")
# 调用验证许可证函数
result = mod.verify_license("TEST-1234-5678")
print(f" verify_license('TEST-1234-5678') → {result}")
# 调用佣金计算
commission = mod.calculate_commission(10000.0, 3)
print(f" calculate_commission(10000, 3) → ¥{commission}")
# 使用支付处理器
processor = mod.PaymentProcessor("MERCHANT_001")
payment_result = processor.process("ORDER_20260504", 299.00)
print(f" PaymentProcessor.process() → {payment_result['status']}")
print(f" 交易ID: {payment_result['transaction_id']}")
# 访问模块常量
print(f"\n 模块版本: {mod.VERSION}")
print(f" 构建日期: {mod.BUILD}")
# ========== 安全验证 ==========
print("\n" + "=" * 70)
print("安全验证")
print("=" * 70)
print("""
1. PyArmor 混淆: 源代码已转换为不可读的混淆代码
2. AES 加密: 字节码已使用 AES-128-CBC 加密
3. 运行时保护: PyArmor 运行时二进制文件无法直接加载
4. 双重解密: 需要先 AES 解密 → 再通过 PyArmor 运行时执行
即使有人获取了数据库文件:
- 没有 AES 密钥 → 无法解密字节码
- 没有 PyArmor 运行时 → 无法执行混淆代码
- 两者同时具备 → 才能解密和执行
""")