一个基于chrome扩展的自动答题器此方宅

基于这篇入门教程和demo,我才能写出这款

基于chrome扩展的自动答题器。

2、开发背景

去年12月,某省委组织部举办了一系列学习竞赛活动,第一期时,参加人数寥寥,在第二期时,便通过党组织渠道要求所有党员保质保量的参加。

该活动可在专门的app上参加,也可通过官方网站参加。

既然是基于网页的并且支持chrome内核的考试系统,那自然能从前端入手进行操作。

3、主要功能迭代

2月21日,发布第一版答题器,主要功能有

3月4日,增加了了添加自定义试题及答案的功能。

3月20日,增加了全自动答题功能。

4月20日,增加了伪造回传鼠标点击坐标的功能。

5月14日,增加了在线更新的功能

至此,答题器的功能已基本成熟,最终答题器的界面如下:

4、结构拆解与代码分析

整个程序的存储由content部分来处理,存放于chrome.storage.local中,popup和inject在需要时从content更新数据,同时如果用户修改了设置也及时反映给content进行保存。

popup的js代码如下:(我觉得我备注的还可以)

content.js的代码:

在content和inject通讯中,我选择了在页面新建一个div元素,然后将通讯内容作为div元素的html。

优势是逻辑简单,可以直接使用jquery处理;

缺点是,破坏了页面原有结构,inject需要不停轮询该元素内容,通讯内容暴露,单项通讯

inject.js代码:

window.anslist为提前写入到程序中的基础题库,减少在线更新时数据通讯量;

因为只能从content接收指令,所以在inject中也保存了一份用户设置;

其中的ans_plus()函数则是整个答题器的核心,也是我最开始写的脚本部分。

逻辑很简单,

1遍历所有题目标签2{3找到题干;4在题库中匹配题干;5如果未匹配到6{7就用alert弹出提示8错题标记+19}10如果匹配到11{12获取所有选项并进行遍历13{14如果是单选并且选项等于该题目的答案15{16选中该选项;17continu;18}19如果是多选并且选项在该题目的答案中20{21选中该选项;22}23}24}25}26如果没有错误标记则自动交卷;以上,就是整个答题器中最重要的popup,content和inject中的js代码。

5、几个功能迭代。

从4月份期,为增加作弊难度,考试系统在每天都会增加几道新题。根据观察,是20道题中,在基础题库中抽取18道,在当日新题中抽取2道。

当时的对策是每天更新一次答题器,为了便于答题,答题器的所有用户每天都需要重新下载更新答题器。(群成员数暴涨)

5月13日,我重写了自定义新题的功能,可以批量添加多个新题。这样每天我只需要更新新题字符串,答题器用户将新题字符串导入答题器即可。

5月14日,在重新学了了小茗同学教程之后,实现了在线更新的功能。自定义新题字符串仅仅使用了两天便被淘汰。

服务器端代码:

1$_v)19//echo'{"date_varsion":"'.$_v.'","update":"'.$date.'"}';20{21echo'//'.$_v;22echo$date;2324}25>服务器端代码很简单,答题器将当前版本号发送至服务器,如果版本号一致则服务器返回空白页,如果不一致则返回新题数据。

数据的第一行是当前数据版本,后面则是题目/答案。依托于重写的自定义新题功能,自动更新非常顺利的实现了。

4月20日,经确认,考试系统加入了防作弊功能,原理是当鼠标点击“上一题”“下一题”或者题号时执行函数ClickButton,保存当前鼠标坐标,在交卷时同时传给服务器。

一开始我考虑的伪造回传数据,但数据经过了一点简单的计算,实在懒得跟他算计,

然后考虑的伪造下一题按钮的点击事件,但通过脚本触发的点击事件没有鼠标坐标信息,

最后忽然发现,我只要每次题目切换时,伪造一个事件(Event)作为参数传给反作弊的模块即可

varposx=Math.floor(800+Math.random()*200);

varposy=Math.floor(400+Math.random()*140);

ClickButton({'button':0,'clientX':Math.floor(posx+Math.random()*50),'clientY':Math.floor(posy+Math.random()*15)});6、写在最后

这个答题器功能实用,逻辑清晰,难度不算大,非常适合chrome扩展的学习和练手。

THE END
1.万能答题软件有哪些?万能答题软件推荐万能答题app万能答题软件有哪些?应该有很多的朋友在做题学习时会遇到自己不会的难题,身边又没有人在,没办法自己解决时十分的苦恼,今天小编给大家推荐几款超好用的万能答题软件,这类软件是大家自主学习的最佳帮手,大家遇到不会大题目可以直接搜索答案,并且又详细的解题过程,详细http://www.downcc.com/k/wndtrj/
2.一种快速导入试题的刷题方法,免费刷题,刷自己的题用一个能够导入自己试题的刷题工具,既能加强练习又能利用好零碎时间,是一个不错的解决方案 目前市面上刷题工具存下这些问题 1、要收费 2、有广告 3、老是卖课给你 4、导入试题经常失败 5、要注册登陆 6、不能分享 7、题目有数量限制 二、方法 https://blog.csdn.net/m0_71280706/article/details/144026015
3.求大神告诉一个软件,输入题库,然后搜关键字就能出现我导入的题库想要离线搜题就找试题通呀!首先试题通可以支持导入自己的题库,这一点,您有自己题库,这就很方便了,支持一键导入,导入成功后就可以在线答题了!后续只需将您的额题库加入到本地,就可以在离线的状态下,搜索关键词搜索到整个题目和这道题的答案了! 二、有没有app我把题库放在这个软件里,我输入关键字方便我找到考https://www.zzjyw.cn/yihu/40431.html
4.全网最新项目不需要人工操作,AI自动答题,彻底解放双手!轻松日入编号: 13399 价格: ¥98.00 VIP会员: 免费学习 普通用户: 付费学习 更新日期: 2024-11-22 开通VIP免费学 产品详情 AI答题,本项目绿色长期稳定!是利用脚本整合各大答题有奖励的平台! 自动答题获取收益!比如说百度贴吧,各大题库软件等等来进行综合答题获取收益,全新项目,全自动挂机不需要人工操作,绑定支付http://wangluoshizhan.com/h-pd-30913.html
5.扫一扫答题神器app扫一扫答题神器免费下载扫一扫答题神器是全国上亿用户都在选择使用的软件,有着超强大的扫描识别功能,只需要简单的拍照就可以准确的识别各种各样的试题内容并且完成试题内容的快速提取,并且帮助你快速的进行答案的查找,让学生能够快速的了解每一道试题的正确做法,从而轻松解决做题过程中出现的问题,确保学习中存在的各种问题都可以被及时的解决https://www.guguzhu.com/zt/sysdtsq/
6.调查:直播答题“外挂”横行!念题目能自动出答案?调查:直播答题“外挂”横行!念题目能自动出答案?来源:爱奇艺 -2018- 01/15 03:32 举报 责编:iqiyi 环球时事 安理会讨论中东局势 各方呼吁加沙停火 迅速拉升!特朗普、马斯克重磅消息传出 突发!这一国家宣布,进入“全国紧急状态”! 日媒:中国在量子技术领域存在感日益突出 戴耀廷、黄之锋等45人,判了!https://v.huanqiu.com/article/9CaKrnK6lch
7.js自动答题自动答题js自动答题js插件冲顶大会、芝士超人、百万赢家、百万英雄……搜狗推语音搜索答题外挂。今天我来总结下利用搜索来答题的技术原理。本质上,这是一个自动问答( Question Answering, QA )的问题。QA 是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。 QA 研究内容和关https://cloud.tencent.com/developer/information/js%E8%87%AA%E5%8A%A8%E7%AD%94%E9%A2%98-article
8.学习助手v2.10.0自动识别题目出答案挑战答题二四人赛2、手动点击时间随机,不会出现自动答题的极速秒填答案 且答题时间几乎一致 而被检测 等风险;软件使用https://www.xqu5.com/thread-1828-1-1.html
9.手机扫描自动答题软件手机扫描自动批改试卷手机扫描自动答题软件,现在许多学生做题时不知道答案,为了帮助孩子更好的学习,市面上有许多扫码出答案的app,小编为你收集整理了几款扫题目出答案的软件,只需要扫码就能得到解题过程,非常详细,让你轻松得到答案,让你们无需再在到处找资料、问同学、问家长,直接拍照就可以轻松的给出答案,让你们节省大量的时间。 https://www.duote.com/zt/zxcv2669/
10."直播答题助手"走红背后啥隐情?有外挂为赚流量新闻频道然而,在众多平台蜂拥进入直播答题领域时,一些问题也逐渐暴露出来,其中,最受关注的莫过于各种辅助类作弊软件的出现。 就在答题者对“答题助手”还处于爱恨交加之际,一则新闻引爆舆论——“百万英雄”的共同举办方和运营方今日头条等公司起诉搜狗输入法,认为搜狗输入法遮挡答题页面并自动显示题目答案,存在不正当竞争行为https://news.cctv.com/2018/04/02/ARTISPLnbbQz4qh0rb77eX6X180402.shtml
11.云班课自动答题油猴插件免费自动化编辑器 答题插件 油猴脚本实战教程:模拟鼠标点击,自动点击某个地方,自动答题,类似按键精灵 大学牲de自用脚本 能无限搜题的工具,就没有搜不到的题目 解放双手任意软件快速答题做题教程及操作指南 杀乱云班课 云班课使用方法 wk001-超强刷网课视频操作 & 辅助油猴插件html5增强版https://xbeibeix.com/video/BV1Fy4y1u7TE
12.小程序在线答题功能考试型: 所有题目答完之后判定对错 练习型:每题答完之后立即判断正错 ②系统自动判分 根据答题情况自动判分,统计数据 成绩查询、答案解析、一目了然 ③高效录题组题方式手动录题、Excel批量导入固定选题(从题库手动选题,所有答题者试题相同)、题库随机出题(从题库中随机抽取,不同答题者试题不完全一样) 注:https://www.csjumai.com/h-nd-552.html
13.在线答题系统功能技术开发产品分析具备强大的题库管理功能,允许教师、培训师或管理员方便地创建、编辑、导入和导出题目,实现题库的分类管理和共享。 实现灵活的考试设置,如考试时间、答题时长、考试规则(开卷 / 闭卷、是否允许回看等)、试卷组成(随机抽题、指定题目等)的自定义,以适应各种考试场景。 https://www.saasyo.com/xz/18269.html