RoboMaster论坛自动签到,自动浏览刷分

不务正业系列

上完最后一节课,队长跟我们说,RM有个BBS,可以看看,但是下载要金币,这个金币只能做签到等事情才能得到,所以我用python做了一个小程序搞事,自动签到。

FLAG:写完这篇就去复习大物

效果图:

签到功能:

浏览刷分功能:

正题

网上流行的自动签到主要有两种,一种是用类似浏览器的插件,让浏览器后台模拟鼠标点击,它的局限是换了电脑就不好用了,要装一大堆东西,但对网站兼容性好。

另一种是直接发数据包,浏览器与服务器的通讯都是采用数据包的形式,不妨直接发数据包,比较方便,但是对一些安全性高的网站不好用。

我用的是第二种。网上教程极少。

流程

安装Fiddler

这是一个网络分析软件,用于截取数据包,估计wireshark也能干。网上安装教程一大堆。

人工登陆找正常数据包

这个就是正常登陆数据包,username是账号,password是密码的MD5加密结果(小写)

数据包内容

数据包头header:

部分代码

主要思路,删掉了一些敏感信息,请自行添加

数据包生成
模块
import urllib.request
import urllib
import gzip
import http.cookiejar
import re
函数
#定义一个方法用于生成请求头信息,处理cookie
def getOpener(head):
# deal with the Cookies
# <pre name="code" class="python">
cj = http.cookiejar.CookieJar()
pro = urllib.request.HTTPCookieProcessor(cj)
opener = urllib.request.build_opener(pro)
header = []
for key, value in head.items():
elem = (key, value)
header.append(elem)
opener.addheaders = header
return opener #定义一个方法来解压返回信息
def ungzip(data):
try: # 尝试解压
print('正在解压.....')
data = str(gzip.decompress(data),'UTF-8')
data = re.sub("[A-Za-z0-9\!\%\[\]\,\。\<\=\"\/\>\#\:\;\'\(\)\_\-\$\@\?\.\+\=\*\%\&\|\{\}\' '\\n]", "", data) print('解压完毕!')
except:
print('未经压缩, 无需解压') return data #封装头信息,伪装成浏览器,注意每个功能的header都不一样 #Cookie1 =
省略
header = {
省略
} header1 = {#签到
省略
}
#退出
header2 = {
省略
}
header3 ={#浏览主页
省略
}
username = 'xxxxxxx'#你的用户名
password = 'xxxxxxxxxx'#你的密码的MD5加密后,(小写字母)
postDict = {
'formhash':'00000129',
'referer':'https://bbs.robomaster.com/portal.php',
'username': username,
'password': password,
'questionid':'0',
'answer':''
}
sign_url= 'https://bbs.robomaster.com/misc.php?mod=supply&op=sign'
login_url = 'https://bbs.robomaster.com/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=Louwq&inajax=1'
logout_url='https://bbs.robomaster.com/member.php?mod=logging&action=logout'
def login(header,login_url,postDict):
print('开始登录')
opener = getOpener(header)
postData = urllib.parse.urlencode(postDict).encode()
op = opener.open(login_url, postData)
print("msg: "+ op.msg)
#print("status:"+op.status + "msg"+ op.msg)
data = op.read()
data = ungzip(data)
print(data)
print('登陆成功')
def sign(header,sign_url):
print('开始签到')
opener = getOpener(header)
op = opener.open(sign_url)
data = op.read()
print("msg: "+ op.msg)
data = ungzip(data)
print(data)
print('签到成功') def logout(header,logout_url):
print('开始退出')
opener = getOpener(header)
op = opener.open(logout_url)
data = op.read()
data = ungzip(data)
print(data)
print("msg: "+ op.msg)
print('退出成功')

对RoboMaster论坛自动签到脚本制作(虽然没什么用)的更多相关文章

  1. Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)

    T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi .于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现.定时任务执行以及签到提 ...

  2. python写的自动签到脚本。

    等以后有时间补上. 附上代码: #! /usr/bin/env python # coding:utf-8 #-----------------------------------------学号和密 ...

  3. 基于python3.7的一个闯越自动签到脚本--demo版

    望指正demo的定位,有时候会抽风无法接受我的定位信息 #! /usr/bin/python3 # -*- coding:UTF- -*- # time : // : # file : chuangy ...

  4. 基于【腾讯云函数】/【GitHub Actions】/【Docker】的每日签到脚本(支持多账号使用)

    每日签到集合 基于[腾讯云函数]/[GitHub Actions]/[Docker]的每日签到脚本 支持多账号使用 特别声明: 本仓库发布的脚本及其中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究 ...

  5. Jmeter介绍以及脚本制作与调试

    目录 Jmeter介绍 Jmeter安装 Jmeter主要测试组件 Jmeter元件作用域与执行顺序 Jmeter运行原理 Jmeter脚本制作 Jmeter脚本调试 Jmeter介绍 Jmeter ...

  6. 利用Python实现App自动签到领取积分

    要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化.但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了. 有需要Python学习资料的小伙伴吗?小编整理[ ...

  7. selenium之数据驱动框架应用WPS个人中心自动签到

    wps在注册后,有个每日签到的功能,签到后有几率送wps的专属金币[稻米],为了免费获得,又不想每天都是人工去执行签到动作,所以用selenium写了个小脚本,准备用数据驱动框架来完成这个事情,数据驱 ...

  8. 自动签到升级版(JS实现的每日定时任务)

    公司规定每日签到两次:日子太安逸了,有时候中午居然会忘记签到…… 于是,笔者寻思写一个自动签到的脚本:每天指定两个签到时段,每次打开页面,先检测当前是否为签到时段,如果在签到时段,则检查cookie中 ...

  9. nodejs什么值得买自动签到自动评论定时任务

    本项目是基于nodejs开发,实现的功能是,什么值得买自动签到,自动评论功能,自动发邮件,支持多人多账号运行 目的是为了,解放双手,轻松获取什么值得买的经验和积分,得到更高的等级,从而突破很会员等级限 ...

随机推荐

  1. sql server2008用ip远程连接

    sql server2008用ip远程连接 转载 weixin_34167819 发布于2017-09-14 15:23:00 阅读数 84 收藏 展开 1,2005的外围应用配置器在2008中换了地 ...

  2. 计算几何-Ang-Rad-Vector

    This article is made by Jason-Cow.Welcome to reprint.But please post the article's address. 旋转,跳跃,梦境 ...

  3. 1.1 Eclipse下载安装(+java环境)

    可直接上官网下载:http://www.eclipse.org/downloads/ 直接下载地址:http://www.eclipse.org/downloads/download.php?file ...

  4. 题解【POJ1651】Multiplication Puzzle

    Description The multiplication puzzle is played with a row of cards, each containing a single positi ...

  5. 【音乐欣赏】《In The End》 - Taska Black / Aviella

    曲名:In The End 作者:Taska Black .Aviella [00:00.00] 作曲 : Joachim Gorrebeeck/Aviella Winder [00:11.48]La ...

  6. 学会C#可以做什么

    C#基于.NET Framework  和 .NET CORE平台 Client/Server 客户端/服务端 windows桌面应用程序 winform  2D WPF  3D Browser/Se ...

  7. JS中的字符串可以直接调用字符串对象的属性和方法

    在JS中,会自动在字符串与字符串对象之间进行转换,因此,任何一个字符串常量都可以看作是一个String对象,其可以直接作为对象使用,只要在字符串变量的后面加 “.” 便可以直接调用String对象的属 ...

  8. select2多选框初始化默认值和获得值

    select2多选自带手动输入搜索功能,可怜我还查寻半天api 获得值: //chang函数获取选择的option $(".js-example").change(function ...

  9. [PHP]新版的mongodb扩展安装和使用

    旧版的mongo扩展已经不推荐使用了,在php7以上一般是安装和使用新版的mongodb扩展 ubuntu下 apt-get install php-mongodb 例如下面的代码进行了查询和插入集合 ...

  10. Bugku-CTF加密篇之告诉你个秘密(ISCCCTF)

    告诉你个秘密(ISCCCTF)   636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A5 ...