上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
12下一页
返回列表 发新帖

关于写答题脚本的一些问题

[复制链接]

该用户从未签到

4

主题

10

回帖

37

积分

助理工程师

积分
37
发表于 2022-1-3 14:44:35 | 显示全部楼层 | 阅读模式
本帖最后由 洪水 于 2022-1-3 14:52 编辑

想写一个简道云里面自动答题的脚本,我目前是打算用python写的,但是因为是新手所以有好多问题,想要请教一下哥哥们。
下载.png
比如说这里的自拍照被设置了只能拍照上传,没有办法上传图片,想知道有没有破解的办法

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6764

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6764

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-1-3 16:09:01 | 显示全部楼层
    既然是用python写了,直接抓出来包分析一下加密,python进行post不就可以了
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 882 天

    [LV.10]以坛为家III

    30

    主题

    732

    回帖

    7358

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7358

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-1-3 16:28:39 | 显示全部楼层
    抓包看图片上传接口,解密,再用python实现本地图片上传
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 882 天

    [LV.10]以坛为家III

    30

    主题

    732

    回帖

    7358

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7358

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-1-3 16:31:42 | 显示全部楼层
    如果有微信小程序,我觉得可以直接反编译来看看他这部分的代码,当然是要没有加密,加密可能就有难度了
    回复

    使用道具 举报

    该用户从未签到

    4

    主题

    10

    回帖

    37

    积分

    助理工程师

    积分
    37
    发表于 2022-1-3 21:36:34 来自手机  | 显示全部楼层
    谢谢哥哥们
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 533 天

    [LV.9]以坛为家II

    148

    主题

    420

    回帖

    1216

    积分

    版主

    积分
    1216

    油中2周年生态建设者

    发表于 2022-1-3 22:39:19 | 显示全部楼层
    协议                    
    I don't hate programming but the fucking world.
    回复

    使用道具 举报

    该用户从未签到

    4

    主题

    10

    回帖

    37

    积分

    助理工程师

    积分
    37
    发表于 2022-1-5 22:15:07 | 显示全部楼层
    Ne-21 发表于 2022-1-3 16:31
    如果有微信小程序,我觉得可以直接反编译来看看他这部分的代码,当然是要没有加密,加密可能就有难度了 ...

    之前在学校里用过你写的国安秒过小助手,感觉跟我要写的这个是一个类型的,可以看看你的那个源码吗?想要参考参考
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 882 天

    [LV.10]以坛为家III

    30

    主题

    732

    回帖

    7358

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7358

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-1-6 10:04:26 | 显示全部楼层

    本帖最后由 Ne-21 于 2022-1-6 10:05 编辑

    import requests
    import random
    import json
    
    userInfo = {}
    schoolList = []
    answer = [
        {'number': 66, 'answer': 'C'},
        {'number': 329, 'answer': 'D'},
        {'number': 466, 'answer': 'D'},
        {'number': 171, 'answer': 'A'},
        {'number': 414, 'answer': 'A'},
        {'number': 242, 'answer': 'C'},
        {'number': 422, 'answer': 'B'},
        {'number': 529, 'answer': 'ABCD'},
        {'number': 599, 'answer': 'ABC'},
        {'number': 654, 'answer': 'ABCD'},
        {'number': 694, 'answer': 'ABCD'},
        {'number': 548, 'answer': 'CD'},
        {'number': 553, 'answer': 'ABD'},
        {'number': 1020, 'answer': 'B'},
        {'number': 1046, 'answer': 'A'},
        {'number': 880, 'answer': 'B'},
        {'number': 1079, 'answer': 'B'},
        {'number': 920, 'answer': 'A'},
        {'number': 830, 'answer': 'B'},
        {'number': 1049, 'answer': 'A'}
    ]
    s = requests.Session()
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,'
                  'application/signed-exchange;v=b3;q=0.9',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
        'Connection': 'keep-alive',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34 '
    }
    
    def getSchoolList():
        global schoolList
        url = "https://haedu-2021.oss-cn-beijing.aliyuncs.com/gjaqzsjs/competition/unit.json"
        res = s.get(url, headers=headers)
        schoolList = res.json()
    
    def getSchoolId(school):
        if school == "":
            return -1
        for i in schoolList:
            if i.get('char') == school:
                return i.get('code')
            else:
                pass
        return -1
    
    def login(unit_code: int, student_id: str, password: str):
        global userInfo
        login_url = "http://gjaqzsjs.haedu.cn/Login/auth"
        data = {
            'unit_code': unit_code,
            'student_id': student_id,  # 12345678,
            'password': password,  # 12345678
        }
        res = s.post(login_url, data=data, headers=headers)
        res = res.json()
        if res.get('msg') != 'SUCCESS':
            print(res.mag)
            return False
        else:
            userInfo = res.get('data')
            print('登录状态:', res.get('msg'))
            print(userInfo)
            return True
    
    def getExamData():
        global exam_paper_data
        exam_url = 'http://gjaqzsjs.haedu.cn/Answer/getQuestionLists'
        res = s.post(exam_url, headers=headers)
        res = res.json()
        if res.get('code') == 2000:
            print('获取试卷成功')
            exam_paper_data = res.get('data')
            submit()
        else:
            print('获取试卷失败')
            print(res)
    
    def submit():
        global answer
        sub_url = 'http://gjaqzsjs.haedu.cn/Answer/submitAnswer'
        data = {
            'answer': json.dumps(answer),
            'use_time': random.randint(500, 550)
        }
        res = s.post(sub_url, data=data, headers=headers)
        print(res.json())
        print("答案提交成功,请登录网页查看成绩!")
    
    if __name__ == '__main__':
        getSchoolList()
        print("""
        -------------欢迎使用安全知识竞赛助手,请使用账号密码登录。
                ---- 油猴中文网:https://bbs.tampermonkey.net.cn/?fromuser=Ne-21
                ---- 作者: Ne-21
                ---- 交流群:171221220
        ------------- 学习交流使用,请勿用于商业用途。
        """)
        while 1:
            school = input('请输入学校名:')
            unit_code = getSchoolId(school)
            if unit_code == -1:
                print("学校不存在,请重新输入!")
                continue
            else:
                break
        student_id = input("请输入登录账号:")
        password = input("请输入登录密码:")
        login(unit_code, student_id, password)
        getExamData()
        input("任意键退出")
    
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 882 天

    [LV.10]以坛为家III

    30

    主题

    732

    回帖

    7358

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7358

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-1-6 10:06:23 | 显示全部楼层
    我这个直接发数据包,你这个恐怕不行吧
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:17
  • 签到天数: 882 天

    [LV.10]以坛为家III

    30

    主题

    732

    回帖

    7358

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    积分
    7358

    荣誉开发者油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-1-6 10:07:14 | 显示全部楼层
    还是要抓包来看他提交的数据
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表