初步检测在 vjudge 比赛中的作弊行为,给出方便进一步查验的报告。基于 Python3.6 编写。
使用 Moss 进行作弊检测。使用了 moss.py 调用服务。使用了 docsify 进行文档构建。
支持如下功能:
- 使用 Moss 中所支持的参数及报告下载
- 同一用户同一题目提交的去重
- C/C++,Python,Java的检测
- 根据 id 忽略问题以及根据 id 忽略用户
- 正则表达式指定包含用户
- 辅助功能:根据题目编号的百度搜索结果获得博客中的源码
文档地址:https://nedchu.github.io/vjudge-cheat-detection/
- 尝试其他工具如 moss
- 删除同一个人,同一题目的多次通过提交,通过配置文件进行设置,默认关闭,暂时考虑当同一人的两次提交字符数相差不大时只保留其中的一份
- 利用账号密码和比赛的 ID 直接模拟登陆,登陆所需信息在配置文件中设置
- 指定模板代码,一些题目需要特定算法,容易形成大量相同代码片段,与模板代码近似的代码不会被检测和报告,通过配置文件指定关系。在某默认文件夹下放模板文件,然后文件名对应一系列题号
- 通过设置文件指定忽略一些 ID 的提交
- 通过爬虫获得网络中的代码进行检测,初步构想根据百度结果前几页获得代码,需要支持CSDN以及博客园
- 检测配置参数是否符合要求
- 正则表达式匹配用户名,然后再忽略
- 更加详细的使用教程
- 统计通过题目数
- 爬虫支持博客园