蘑菇丁自动签到
本帖最后由 吾爱Po解啊 于 2022-1-11 10:52 编辑目的:利用Win10的任务计划和Python脚本实现蘑菇丁的自动签到
由于蘑菇丁只有app能签到,所以下面使用模拟器来进行分析
因为有个签到的数据ID无法确定是唯一的,大家还是学下怎么抓包吧https://img-blog.csdnimg.cn/20200115213831301.jpg?data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==需要的工具和环境:
夜神模拟器(你有其它模拟器也行,下面一样的操作)
moguding app
Burp Site(抓包工具)
Java环境(这个和Burp Site配套的,如果你会用其他的抓包软件就不需要)
python环境
win10 的任务计划程序分析:1、设置好burpsite
不要设置环回地址,使用本机IP(我这里是192.168.136.1)端口就习惯8080吧
https://img-blog.csdnimg.cn/20200115184350322.png?
2、打开模拟器
先设置虚拟定位,为了能在进蘑菇丁后准确定位到你实习的岗位(其它模拟器虚拟定位一样在窗口右边)
https://img-blog.csdnimg.cn/20200115201433397.png?data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
设置代{过}{滤}理
https://img-blog.csdnimg.cn/20200115184909175.png?
进入WLAN修改代{过}{滤}理IP(长按几秒就出来了)
https://img-blog.csdnimg.cn/20200115184958917.png?
勾上高级选项后选择手动,填写刚刚设置的代{过}{滤}理ip和端口号
https://img-blog.csdnimg.cn/20200115185047333.png?
保存后上百度测试
https://img-blog.csdnimg.cn/2020011519254568.png?
成功
3、抓包查看登陆信息
打开intercept准备抓包
https://img-blog.csdnimg.cn/20200115192749396.png
打开moguding输入账号密码
登陆信息get!,还是明文传输https://img-blog.csdnimg.cn/20200113180243169.jpg?data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
https://img-blog.csdnimg.cn/20200115192737756.png?data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
记录好url、head头部和post数据,后面要用python实现脚本登陆
前面设置好虚拟定位后,在签到里再打一次你实习岗位的地址就能定位成功了(下面这张是旧的版本返回值)
https://img-blog.csdnimg.cn/20200115195348923.png?
同样记录下所有信息
2022/1/10更新:
这次主要对签到接口的更新,因为这软件最新版在请求头多了个sign参数校验,不过经测试后只要确定签到地址(后面不要变地址了),然后记录下上班和下班状态的sign就好,这样就是固定的
https://img-blog.csdnimg.cn/1d6aab7841d74217ae5a7d2337d31912.png?
https://img-blog.csdnimg.cn/fe6a67c6ca1f46c79673c1afc6745e7c.png?
ok!下面就来实现自动登陆吧
https://img-blog.csdnimg.cn/20200115202331404.jpg?
python代码在文章最下面更新处:(写中文的地方都需要填上正确信息)
win10任务计划设置:
https://img-blog.csdnimg.cn/20200115202912195.png
选择创建基本任务
https://img-blog.csdnimg.cn/20200115202934385.png?
随便取个名字后下一步
https://img-blog.csdnimg.cn/20200115203053464.png?
下一步
日期你今天签过了就选明天的吧,时间自己设置好,我这时早晨10点(确定这个时间电脑时开着的)
https://img-blog.csdnimg.cn/20200115203158422.png?
https://img-blog.csdnimg.cn/2020011520333094.png?
在浏览里找到你pythonw.exe(这是无窗口的Python可执行程序,跟python.exe在同一目录下的)的绝对路径
#找不到的就打开cmd 输入:where python就可以看到啦
接着把前缀剪切到起始于那(别问问就是好看)
当然你也可以不理
最后添加参数就是我们刚写好的python脚本的绝对路径啦(别问为什么我的不是,问就是演示懒得写)
!!!这些都需要填写绝对路径的,填错脚本就执行不了了
https://img-blog.csdnimg.cn/20200115203526828.png?
最后完成就ok啦
https://img-blog.csdnimg.cn/202001152044455.png?
可以在任务计划程序库里查看状态
https://img-blog.csdnimg.cn/2020011520481524.png?
跟着配置完最好在第二天(任务计划设置的时间后)检查下是否正常签到成功噢!!!
-----------------------------------------------------------------------------------------------------------------------我是分割线---------------------------------------------------------------------------------------------------------------------------------------
2022/1/10更新
import requests
import json
import time
signID={"START":你的START状态的Sign,"END":你的END状态的Sign}
def signIn(token,type,cookies):
url = 'https://api.moguding.net:9000/attendence/clock/v2/save'
headers = {
'sign': signID,
'Authorization': token,
'Content-Type': 'application/json; charset=UTF-8',
'Rolekey': 'student'
}
data_dict={
"device":"Android",
"address":实习的详细地址,
"description":"",
"longitude":上面地址的经度,
"latitude":上面地址的纬度,
"planId":抓签到包上显示的planID,
"type":tpye
}
response = requests.post(url,headers=headers,data=json.dumps(data_dict),cookies=cookies)
try:
if response.status_code==200:
pass
else:
with open('C:/Users/Administrator/Desktop/signlog.txt', 'a+') as f:
f.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())+'签到失败\n')
except Exception as e:
pass
def login(signIn_type):
login_data = {
"phone":登陆的电话,
"password":登陆的密码,
"uuid":"",
"loginType":"android"
}
url = 'https://api.moguding.net:9000/session/user/v1/login'
headers = {
'Content-Type':'application/json; charset=UTF-8',
'Authorization':"",
'Rolekey':""
}
response = requests.post(url,headers=headers,data=json.dumps(login_data))
cookies = requests.cookies.RequestsCookieJar()
cookies.update(response.cookies)
token = json.loads(response.text)['data']['token']
if token:
signIn(token,signIn_type,cookies)
try:
pass
except Exception as e:
if "connection" in str(e):
print('网络连接超时')
else:
print('账号或密码输入错误')
if __name__ == '__main__':
login("START")
time.sleep(15)
login("END")
代码出现中文报错就是你要更改的参数,内容记得用英文引号""括起来
例:"phone":登陆的电话-->"phone":"1000xxxxxxx"
OK后面应该不会在更新了,各位自行调试
看到有人问云函数的,后续可能会出个相关教程(..大概)反正没人看
https://img-blog.csdnimg.cn/17dc4da225c44fe19e8372c865f46df7.jpg?
对!转载记得标明出处啊wei(#`O′)!!
-----------------------------------------------------------------------------------------------------------------------我是分割线---------------------------------------------------------------------------------------------------------------------------------------
有不懂或者有问题的地方欢迎在下面评论,收到信息会及时更新回复的(...大概) _达圣 发表于 2022-1-11 13:01
其它网站的自动签到脚本怎么编写?比如吾爱破解网?可以对照着一步一步给个接口教程吗?
思路都差不多的,抓包找接口,然后写脚本测试 都py了,那还不丢一份到云函数上cron执行?
然后配合企业微信、微信公众号、钉钉、邮箱等多端推送 感谢楼主分享~~ 感谢楼主,求一份云函数的 还需要写日报 周报 月报...
看得云山雾罩,求一份云函数代码 感谢分享
膜拜大神 连怎么抓包都教了 太细心了! 谢谢分享 其它网站的自动签到脚本怎么编写?比如吾爱破解网?{:1_893:}可以对照着一步一步给个接口教程吗?
页:
[1]
2