#!/usr/bin/env python """ Copyright (c) 2006-2024 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ # 导入所需的系统模块和时间模块 import sys import time # 获取当前Python版本号(如"3.8.0") PYVERSION = sys.version.split()[0] # 检查Python版本是否低于2.6 # 如果是,则输出错误信息并退出程序 # 错误信息包含当前时间和检测到的Python版本 if PYVERSION < "2.6": sys.exit("[%s] [CRITICAL] incompatible Python version detected ('%s'). To successfully run sqlmap you'll have to use version 2.6, 2.7 or 3.x (visit 'https://www.python.org/downloads/')" % (time.strftime("%X"), PYVERSION)) # 初始化错误列表 errors = [] # 定义需要检查的核心扩展模块元组 extensions = ("bz2", "gzip", "pyexpat", "ssl", "sqlite3", "zlib") # 遍历所有需要的扩展模块 for _ in extensions: try: # 尝试导入每个扩展模块 __import__(_) except ImportError: # 如果导入失败,将该模块名添加到错误列表中 errors.append(_) # 如果存在任何缺失的扩展模块 if errors: # 构建错误信息,包含: # 1. 当前时间 # 2. 所有缺失的模块名称(以逗号分隔) errMsg = "[%s] [CRITICAL] missing one or more core extensions (%s) " % (time.strftime("%X"), ", ".join("'%s'" % _ for _ in errors)) # 补充说明可能的原因:Python安装时缺少相应的开发包 errMsg += "most likely because current version of Python has been " errMsg += "built without appropriate dev packages" # 输出错误信息并退出程序 sys.exit(errMsg)