update server
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# core/__init__.py
|
||||
"""core 包 —— 业务逻辑层。
|
||||
|
||||
模块级许可证校验:import 此包的瞬间自动执行验签。
|
||||
两个文件均编译为 .pyd → 无法被篡改绕过。
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
# ============================================================
|
||||
# 模块级验签 —— 每次 import core.xxx 必然触发
|
||||
# 效果等同于在 main.py 中调用 check_license(),
|
||||
# 但此文件编译进 .pyd,攻击者无法删除或修改。
|
||||
# ============================================================
|
||||
_LICENSE_CHECKED = False
|
||||
|
||||
|
||||
def _init_license():
|
||||
"""在模块加载时自动调用一次,验证许可证。"""
|
||||
global _LICENSE_CHECKED
|
||||
if _LICENSE_CHECKED:
|
||||
return
|
||||
|
||||
# 开发环境(非 PyInstaller 打包)→ 直接跳过,不打扰
|
||||
# if not getattr(sys, 'frozen', False):
|
||||
# print("[core] 开发环境:跳过许可证校验")
|
||||
# _LICENSE_CHECKED = True
|
||||
# return
|
||||
|
||||
# 生产环境(exe 打包)→ 严格执行验签
|
||||
from license_utils import check_license
|
||||
|
||||
check_license() # 验签并启动唯一的后台巡检线程,失败直接退出
|
||||
|
||||
_LICENSE_CHECKED = True
|
||||
|
||||
|
||||
# 导入时立即执行
|
||||
_init_license()
|
||||
Reference in New Issue
Block a user