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 运行时 → 无法执行混淆代码 - 两者同时具备 → 才能解密和执行 """)