吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 29080|回复: 151
收起左侧

[Python 转载] 湖南干部教育学院App自动学习的源码

  [复制链接]
syszt 发表于 2019-4-26 22:51
本帖最后由 syszt 于 2020-3-26 16:58 编辑

通过抓包、脱壳、逆向分析湖南干教App,获取了post参数中的jytoken的加密算法,完成了自动学习的python代码:
应要求分享打包后的exe文件(已更新为支持64位和32位系统的版本):链接:https://pan.baidu.com/s/1xwtBNpWYd81Gor-GRkcckQ    提取码:cz2o

[Python] 纯文本查看 复制代码
import requests
import time
import hashlib
import random

url = 'http://app.hngbjy.com/api/mobile/default.aspx'


def get_jytoken(*args):
    appid = 'jyzxapp'
    privateKey = 'jyapp@001!'
    version = '20181101'

    datatime = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
    s = privateKey + "&" + appid + "&" + datatime + "&" + version + "&" + "&".join(args)
    md = hashlib.md5()
    md.update(s.encode())
    md5str = md.hexdigest()
    s = md5str + "&" + appid + "&" + datatime + "&" + version + "&" + "&".join(args)
    jytoken = ''.join('{:2X}'.format(ord(i)) for i in s)
    return jytoken


def get_CourseInfoList(userid, pagecount, page):
    data = {
        'method': 'getCourseInfoList',
        'channelname': '全部课程',
        'UserID': userid,
        'PageCount': pagecount,
        'Page': page,
        'Keyword': '',
        'Portal': '1'
    }
    response = requests.post(url, data=data).json()
    courselist = response['CourseInfoList']
    return courselist


def add_course(userid, coursenumber, jytoken):
    data = {
        'method': 'UpdateUserCourse',
        'userid': userid,
        'coursenumber': coursenumber,
        'AddAndDel': 'add',
        'jytoken': jytoken
    }
    response = requests.post(url, data=data).json()
    return response


def upload_timenode(userid, coursenumber, timenode, jytoken):
    data = {
        'method': 'UploadTimeNode',
        'userid': userid,
        'coursenumber': coursenumber,
        'timenode': timenode,
        'jytoken': jytoken
    }
    response = requests.post(url, data).json()
    return response


def get_timenode():
    timenode = random.randrange(300000, 320000, 1)
    timenode = '%06d' % timenode
    return timenode


if __name__ == '__main__':
    userid = input('请输入用户ID:')
    pagecount = 3000
    page = 1

    courselist = [i for i in get_CourseInfoList(userid, pagecount, page) if float(i['Credit_hour']) >= 1]

    coursecount = len(courselist)
    print('-----------------找到学分大于1.0的课程:{}个!-----------------'.format(coursecount))
    selenumber = int(input('请输入本次准备学习的课程数量(大于0且小于等于{}的数值):'.format(coursecount)))
    print()
    starttime = time.time()
    for i, course in enumerate(courselist[:selenumber]):
        coursenumber = course['Course_Number']
        print('{}、正在学习的课程:{}'.format(i + 1, course['Course_Name']))

        # 选课
        jytoken = get_jytoken(userid, coursenumber)
        print('\t选课返回值:', add_course(userid, coursenumber, jytoken))

        # 完成学习
        timenode = get_timenode()
        jytoken = get_jytoken(userid, coursenumber, timenode)
        print('\t提交完成学习进度的返回值:', upload_timenode(userid, coursenumber, timenode, jytoken))

    print()
    print('学习总用时:{:.2f}秒'.format((time.time() - starttime)))

免费评分

参与人数 23吾爱币 +23 热心值 +23 收起 理由
klzxcwoshiwo + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
默罕默德三打哈 + 1 + 1 输入ID就直接秒退了,请大神指教!
shi128862 + 1 + 1 谢谢@Thanks!
dzq0210 + 1 + 1 我很赞同!
RainH + 1 + 1 强大,秒完成!
yanfei0208 + 1 输入账号就秒退要怎么解决?
djsjcn + 1 + 1 谢谢@Thanks!
hxlafreet + 1 + 1 谢谢@Thanks!
myqyx819 + 1 + 1 谢谢@Thanks!
大发 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
losen1989 + 1 + 1 谢谢@Thanks!
song336 + 1 + 1 我很赞同!
Spancer + 1 + 1 热心回复!
biglee + 1 + 1 感谢!可否分析下杭州干部学习新干线,我可以上传apk
a36036498 + 1 + 1 很好用,特来点赞
孤单的雨 + 1 + 1 谢谢@Thanks!
whjack + 1 + 1 我很赞同!
amyangchun + 1 + 1 我很赞同!
tempabc + 1 + 1 谢谢@Thanks!
吾发如雪 + 1 + 1 谢谢@Thanks!
凌乱的暖风 + 1 + 1 我很赞同!
nyjyoym + 1 + 1 用心讨论,共获提升!
开口笑笑 + 2 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

吾发如雪 发表于 2020-3-20 10:23
本帖最后由 吾发如雪 于 2020-7-30 09:37 编辑

参照syszt大神的代码写了《19屇4中全会》学习代码,打包好的EXE文件在百度网盘,自行下载吧
链接: https://pan.baidu.com/s/1n_V5KvxC-yexmrRU7Vt0AQ 提取码: smwc

如果觉得好,不要吝啬施舍一点吾爱币

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
klzxcwoshiwo + 1 + 1 求分享源码2226761@qq.com
yinqiulei + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Spancer + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| syszt 发表于 2019-4-27 20:40
fengwolf3 发表于 2019-4-27 20:20
厉害了 哥。。。强国可以出源码吗?

强国的不敢分享,怕怕,网上很多都被删帖了

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
zheng3685 + 1 + 1 强国GitHub上有了呀,我求一个杭州学习新干线的
newpowersky + 1 + 1 可以的话私我哈,先给热心和币,谢了
fengwolf3 + 1 + 1 可以的话私我哈,先给热心,谢了

查看全部评分

elleys 发表于 2021-4-12 21:35
十九届五中全会精神专题培训班谁私信个账号密码,需要分析,我这地还没开班,没法写程序
 楼主| syszt 发表于 2019-5-5 15:28
tempabc 发表于 2019-5-5 13:33
这是64位的吧,有32位的吗? 机子旧,还是老系统

已更新为支持64位和32位系统的版本,请重新下载
 楼主| syszt 发表于 2019-4-27 19:45
uumesafe 发表于 2019-4-27 11:39
选课返回值: {'Result': '0', 'Message': '请登录'}
        提交完成学习进度的返回值: {'Result': False, 'C ...

你没有学习帐号吗?我这个只需输入帐号,不用密码也能完成学习任务。
QQ截图20190427194358.png
鼠标别动 发表于 2020-3-20 15:53

大神 有源码 吗,学习下
 楼主| syszt 发表于 2020-3-5 20:08
本帖最后由 syszt 于 2020-3-5 20:15 编辑
jxjjmjz 发表于 2020-3-5 10:58
请输入用户ID:xxxx
Traceback (most recent call last):
  File "applearn.py", line 77, in

应该是找到的积分大于等于1的课程数不够60个,将代码77行中的60改成50就行了
 楼主| syszt 发表于 2019-4-29 11:24
wyzkingstone 发表于 2019-4-29 09:18
能否分享下app脱壳分析过程,先谢了。

梆梆免费版的壳,脱壳我参考的https://www.52pojie.cn/thread-757613-1-1.html,感谢作者的分享

免费评分

参与人数 3吾爱币 +4 热心值 +3 收起 理由
吾发如雪 + 1 + 1 谢谢@Thanks!
凌乱的暖风 + 1 + 1 热心回复!
开口笑笑 + 2 + 1 我很赞同!

查看全部评分

 楼主| syszt 发表于 2019-5-10 10:21
本帖最后由 syszt 于 2019-5-10 10:35 编辑
吾发如雪 发表于 2019-5-10 10:10
专题学习的课程学了不计学时,请问楼主是不是在服务器有又有加密算法?

这种情况,一般是服务器端有做时间校验,我测试过网页版的三分屏单节点的,开始和完成的时间间隔应大于视频实际时间的50%以上。手机版的因为有漏洞,如果不登录,可直接提交数据,不受时间校验的限制。如果登录的话,时间间隔应大于30秒。专题学习的因已过报名时间,我没测试过。
wpj 发表于 2019-4-26 23:04
佛了,各种学习强国~
muxiaohan 发表于 2019-4-26 23:35
谢谢分享
flycloud19 发表于 2019-4-27 09:14
谢谢分享
sogosogo 发表于 2019-4-27 10:20
请问这个具体要怎么用,有没有成品。
uumesafe 发表于 2019-4-27 11:39
        选课返回值: {'Result': '0', 'Message': '请登录'}
        提交完成学习进度的返回值: {'Result': False, 'CurrentProgress': '0.00'}
有没有测试帐号的?
fengwolf3 发表于 2019-4-27 20:20
厉害了 哥。。。强国可以出源码吗?
 楼主| syszt 发表于 2019-4-27 20:32
sogosogo 发表于 2019-4-27 10:20
请问这个具体要怎么用,有没有成品。

已分享exe文件
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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