原理
前言
由于提交测试后无法再次查看答题情况,而未提交则可以进入答题界面查看作答情况并继续作答。并且在作答时保存作答界面的链接,在提交结果后再次访问保存的链接进入答题界面,可以查看作答情况,但是无法查看对错,所以可以通过该答题界面入手,强制查看作答情况及对错。
首先对作答界面的链接进行分析
如https://smartcourseexam.zhihuishu.com/ReviewExam/545928/2/3/1836997819974684672/%E6%B0%B4%E7%9A%84%E6%B1%A1%E6%9F%93%E6%8C%87%E6%A0%87%E5%92%8C%E5%87%BA%E8%B7%AF-%E9%97%AE%E7%AD%94%E9%A2%98/1/true/1/0/33791724?examPaperId=33791724&point=0&classId=1617&taskId=2609&isObjective=false&fromSmart=true,其中有几个参数545928、1836997819974684672、%E6%B0%B4%E7%9A%84%E6%B1%A1%E6%9F%93%E6%8C%87%E6%A0%87%E5%92%8C%E5%87%BA%E8%B7%AF-%E9%97%AE%E7%AD%94%E9%A2%98、33791724、1617、2609。
再在如图所示界面使用开发者模式(F12)进行抓包。

进入答题的前置页面open。
F12界面
由此可知上述链接中各个值对应的参数:
smartcourseexam.zhihuishu.com/ReviewExam/examTestId/2/3/courseId/examName/1/true/1/0/paperId?examPaperId=paperId&point=0&classId=classId&taskId=2609&isObjective=false&fromSmart=true
由于还有几个参数在响应中未提到,尝试将他们删除后访问页面,若页面仍可以访问,则可以判断该参数为非必要参数。并对链接独立的数字0,1,2,3进行穷举替换,来推断他们的用处。最终得出的链接如下:
smartcourseexam.zhihuishu.com/ReviewExam/examTestId/2/3/courseId/examName/1/true/1/0/paperId?examPaperId=paperId&classId=classId
其中,examTestId后面的2用于控制答题节目是否显示倒计时,1为不显示。2为显示。examName后的1用于控制页面显示,0为答题界面,1为查看作答结果界面。
结论
examTestId、courseId、examName、paperId、classId均可通过开发者模式抓包进入答题的前置页面获取,而通过参数构造链接即可查看对应的作答情况。
当然还有更简单的方法...就是在未提交时提前保存链接或者通过另一个未做该作业的账号保存链接即可,但是注意将examName后的1修改为2。