news 2026/4/18 3:33:34

Python实战:分析在线考试系统字体加密,实现题库自动下载与解密

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python实战:分析在线考试系统字体加密,实现题库自动下载与解密

前言

在日常学习中,我们经常需要从在线考试系统下载题库进行复习。然而,很多考试系统为了防止数据被爬取,采用了字体加密技术,将真实的题目内容替换为特殊字体字符,直接复制粘贴看到的是乱码。

今天,我将分享一个基于 Python 的考试题库自动化处理工具,能够突破字体加密保护,将加密的题目内容转换为可读格式。

项目简介

这是一个基于 Python 的考试题库自动化处理工具,专门用于从在线考试系统下载题库数据并解密其中的字体加密内容。该工具能够突破在线考试系统的字体反爬虫机制,将加密的题目内容转换为可读格式。

核心功能

  • 🔍智能题库下载: 自动化从在线考试系统获取题目数据
  • 🔓字体解密技术: 突破字体加密保护,还原真实题目内容
  • 📊数据结构化: 将原始数据转换为结构化的 JSON 格式
  • 🎨多平台支持: 支持 Windows 和 Linux 操作系统
  • 🚀高效处理: 使用多线程和进度条提升用户体验

技术架构

技术栈

  • 语言: Python 3.10+
  • 核心库:
    • fonttools: 字体文件处理和分析
    • requests: HTTP 请求处理
    • beautifulsoup4: HTML 内容解析
    • tqdm: 进度条显示
    • hashlib: 字形哈希计算

核心模块

模块功能描述
app.py主程序入口协调整个解密流程
FontDecryption.py字体解密引擎字形哈希计算和映射构建
solutionData.py数据解析器题目数据提取和格式化
fontDownload.py字体下载器从远程服务器下载加密字体文件

使用方法

环境准备

  1. 克隆项目

    gitclone https://github.com/happy-join-github/KaoShiBao.gitcdkaoshibao
  2. 创建虚拟环境

    python-mvenv .env
  3. 激活虚拟环境

    Windows:

    .env\Scripts\Activate.ps1

    Linux/Mac:

    source.env/bin/activate
  4. 安装依赖

    pipinstall-rrequirement.txt

数据获取步骤

  1. 手动登录系统

    • 打开浏览器,访问考试系统官网
    • 使用账号密码登录
  2. 注入 JavaScript 脚本

    • 找到你要下载的题库,进入题库详情页面
    • 按下 F12 打开开发者工具
    • 在 Console 中输入以下代码:
    constaxiosInstance=window.$nuxt.$axios;window.DecryptedQuestions=[];axiosInstance.interceptors.response.use(function(response){if(response.config&&response.config.url&&response.config.url.includes('/questions/ids')){console.log('%c=== 成功捕获解密后的明文数据 ===','color:white;background:#67c23a;font-size:16px;padding:10px;border-radius:5px;font-weight:bold;');if(Array.isArray(response.data.data)){window.DecryptedQuestions.push(response.data)}}returnresponse;},function(error){returnPromise.reject(error);});console.log("%c 注入完成",'color:white;background:#67c23a;font-size:16px;padding:10px;border-radius:5px;font-weight:bold;');
  3. 获取题库数据

    • 点击顺序/随机练习按钮(每次点击获取10道题)
    • 重复点击直到获取足够数量的题目
    • 在 Console 中输入:copy(window.DecryptedQuestions)
    • 打开项目文件夹中的title.json文件,粘贴数据
  4. 启动主程序

    python app.py

输出结果

解密后的数据以结构化 JSON 格式保存:

{"question":"采切轻向上象方法进行软件开发时...","qtype":"1","options":[{"Key":"A","Value":"汽车和座位"},{"Key":"B","Value":"汽车和车窗"},{"Key":"C","Value":"汽车和发动机"},{"Key":"D","Value":"汽车和音乐系统"}],"answer":"D","analysis":"这道题考查面向对象方法中组成关系的理解...","decrypted_question":"采用面向对象方法进行软件开发时...","special_font":"k9fddb066cb69ed65a1c9dbcc23f75f09"}

性能特点

  • 高效解密: 基于字形哈希的快速映射算法
  • 批量处理: 支持大量题目的并发解密
  • 内存优化: 流式处理大数据文件
  • 错误恢复: 完善的异常处理机制

项目结构

kaoshibao/ ├── app.py # 主程序入口 ├── requirement.txt # 依赖包列表 ├── utils/ # 工具模块 │ ├── FontDecryption.py # 字体解密核心算法 │ ├── solutionData.py # 数据解析处理 │ └── export.py # 数据导出工具 ├── fonts/ # 字体文件存储 │ ├── fontDownload.py # 字体下载器 │ ├── MSYH.TTC # 微软雅黑基准字体 │ └── msyh_glyph_hashes.json # 字形哈希映射表 ├── result/ # 处理结果输出 │ └── 20250601120000/ # 日期文件夹 │ ├── titleData_decrypted.json # 解密后的数据 │ └── questions.html # 可视化HTML文件 └── readme.md # 项目说明文档

总结

本项目通过深入分析字体加密技术,实现了对在线考试系统题库的自动化解密。核心思想是利用字形哈希匹配来还原加密字符,这种方法具有通用性,可以应用于类似场景。

免责声明

⚠️重要提醒:

  • 本代码仅用于参考和学习,造成的其他影响,与作者无关
  • 本工具仅供学习和研究使用
  • 请遵守相关法律法规和网站使用条款
  • 作者不承担任何滥用责任
  • 使用本工具产生的任何后果由用户自行承担

开源地址

如果这个项目对你有帮助,欢迎 Star 支持!

GitHub: https://github.com/happy-join-github/KaoShiBao


关于作者: Python 爱好者,专注于数据采集和自动化工具开发。如果你有更好的想法或建议,欢迎在评论区交流!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 4:58:44

苏州汽车零部件等离子清洗机厂家有哪些?

在高端制造向智能化、绿色化加速转型的背景下,汽车零部件制造对表面处理工艺提出了前所未有的高要求。作为决定产品附着力、密封性与耐久性的关键前处理环节,等离子清洗技术正逐步取代传统溶剂擦拭、火焰处理等落后方式,成为汽车零部件制造企…

作者头像 李华
网站建设 2026/4/18 2:46:31

大模型必备技能:RAG技术详解与实战,含学习资料,建议收藏

RAG虽然是最早应用的技术,也在不断的进化,AI系统的好坏,RAG的质量几乎起着决定性作用。优秀的RAG系统召回率几乎能做到100%,准确率能做到99%以上。本文来聊聊这些新技术。 RAG(检索增强生成)的5种文本分块…

作者头像 李华
网站建设 2026/4/18 8:01:35

Android 13源码下载

参考文章 https://blog.csdn.net/devnn/article/details/131868022?spm1001.2014.3001.5506 清华源不可用时使用 rootDESKTOP-1VVCCHG:/home/zhd/aosp_13# repo init -u https://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-13.0.0_r60 Downloading Repo source …

作者头像 李华
网站建设 2026/4/18 5:34:12

2025年十大高风险漏洞及其在实际攻击中的应用

2025 年的网络安全形势出现了前所未有的严重漏洞激增,仅上半年就披露了超过 21,500个CVE,与2024年相比增长了16-18%。其中,有一部分漏洞因其异常严重、在实际环境中被积极利用以及可能导致企业范围内的安全漏洞而脱颖而出。这项综合分析考察了…

作者头像 李华
网站建设 2026/4/18 8:52:57

2026爆火AI论文神器限时公开:9款一键生成覆盖毕业期刊职称

深夜改稿,导师的夺命连环批注让你濒临崩溃? 离毕业、职称、期刊投稿截止日期只剩最后72小时,初稿还是一片空白?别慌!2026年最新一波AI论文写作神器已限时集结,专为“急救”而生!本文将为你深度揭…

作者头像 李华
网站建设 2026/4/18 11:57:18

【拯救HMI】工业HMI新手学习路径:30天系统化入门与实操蓝图

刚接触工业自动化,面对HMI这个又涉及硬件、软件、通讯还有设计的领域,确实容易不知道从哪里开始。别担心,这里有一份为期30天的渐进式学习路径,结合理论和动手实践,帮你从零开始,系统地把HMI工程师的核心技…

作者头像 李华