写在前头的话

最近“沉迷”于微信一款小程序,就是抽奖助手。反正这个抽奖几乎不用什么成本, 就是一个个抽奖活动点进去点击参与抽奖比较麻烦。要是如果有个程序一键解决这些步骤,那就是零成本了,哈哈哈。 话不多说,抓包走起。

Download

使用方法

运行LuckyNocode.exe,按照提示输入你的Authorization值即可。 程序会生成config文件,用于保存Authorization值。如果要修改该值,可删掉config文件。

注:下文会介绍如何获取该值。

抓包结果

注:不感兴趣的可以跳过这一部分

1. 获取每日福利抽奖列表

request header (仅列出必要项)

GET /public_lottery?page=1&size=5 HTTP/1.1

charset: utf-8

authorization: Bearer eyJhbGciOiJIUzI1太长省略...

Host: lucky.nocode.com

response body (经过gzip解压)

2. 获取自助福利抽奖列表

request header (仅列出必要项)

GET /square HTTP/1.1

authorization: Bearer eyJhbGciOiJIUzI1太长省略...

Host: lucky.nocode.com

response body (经过gzip解压)

3. 参与抽奖

request header (仅列出必要项)

POST /lottery/7FmTPqnan7k/join HTTP/1.1

authorization: Bearer eyJhbGciOiJIUzI1太长省略...

content-type: application/json

Host: lucky.nocode.com

注:url为 /lottery/欲参与的抽奖活动的id/join

requset body

{"form_id":"1534525352115"}

注:form_id应该是UNIX时间戳

response

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 17 Aug 2018 17:02:33 GMT

Content-Type: application/json; charset=utf-8

Content-Length: 13

Connection: keep-alive

X-Powered-By: Express

Access-Control-Allow-Origin: *

ETag: W/"d-AZMLZIkhLL6zV6brmxWwd5pv3rs"

{"data":true}

注:响应结果中的data为true时,表示参与抽奖成功

python源码

注:同样,不感兴趣的可以跳过这一部分

# coding = utf-8

import requests

def JoinLotteries(url):

res = requests.get(url,headers=headers)

# 获得抽奖列表 table

table = res.json().get('data')

url = 'https://lucky.nocode.com/lottery/{id}/join'

for item in table:

if item.get('joined') == False:

res = requests.post(url.format(id=item.get('id')),headers=headers)

if res.status_code == 200 and res.json().get('data') == True:

print('成功参与抽奖:')

prizes = item.get('prizes').get('data')

for prize in prizes:

print(prize.get('name'))

def main():

headers['Authorization'] = input("请输入你的Authorization值:")

print('正在参与公共福利抽奖...')

JoinLotteries('https://lucky.nocode.com/public_lottery?page=1&size=5')

for i in range(100):

print('正在参与自助福利抽奖...')

JoinLotteries('https://lucky.nocode.com/square')

if __name__ == '__main__':

# 统一请求头

headers = {}

main()

抓包方式

由于微信小程序官方开发文档:HTTPS 证书

小程序必须使用 HTTPS 请求。小程序内会对服务器域名使用的 HTTPS 证书进行校验,如果校验失败,则请求不能成功发起。由于系统限制,不同平台对于证书要求的严格程度不同。为了保证小程序的兼容性,建议开发者按照最高标准进行证书配置,并使用相关工具检查现有证书是否符合要求。

所以请确保你所使用的抓包工具能捕获和解密手机的HTTPS数据包。 推荐使用Fiddler(PC),Authorization值:

注:以下教程仅适用于安卓手机。

1. 安装Packet Capture

2. 启动Packet Capture,Get Started->Continue->Install Certificate。

重命名证书名称,或者保持默认,然后点击确定

3. 点击顶部第一个按钮,然后在弹出的列表里选择微信

4. 不关闭Packet Capture,打开微信,进入抽奖助手小程序,然后再切换回去Packet Capture

第一步点击红色按钮暂停抓包(这一步并非必须做),第二步点击下面列表第一项。

5. 查找ip为1

06.75.214.244,port为443的数据包,然后点击进去

Wireshark捕获并解密HTTP数据包添加环境变量(控制面板->系统和安全->系统->高级系统设置->环境变量)SSLKEYLOGFILE,将其值设定为一个.log文件(路径和名称随意)打开Wireshark,选择一个网卡,进去之后,编辑->首选项->Protocols->SSL,点击最下面的Browse按钮,选择刚才配置环境变量时设定的log文件打开红芯(划掉)Chrome浏览器,或者是Firefox,随便上一个https的网站,如,https://www.baidu.com。

重启Wireshark,选择刚才那个网卡进入,刷新刚刚打开的网页,现在就可以看到解密后的数据包了。

Chrome/Firefox浏览器会根据上面配置的环境变量SSLKEYLOGFILE,在其对应的log文件里写入一些CLIENT_RANDOM开头的值,用于Wireshark来解密数据包。

以上方法的效果:使得Wireshark能捕获并解密来自Chrome或Firefox浏览器的HTTPS数据包。所以这样做,我们手机连接电脑热点也无法用Wireshark来捕获解密手机的HTTPS数据包。

工具推荐

用python写一个抽奖小程序_微信小程序抽奖助手一键参与抽奖相关推荐

  1. python编写数据库连接工具_详解使用Python写一个向数据库填充数据的小工具(推荐)...

    一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...

  2. 写一个音乐播放器的微信小程序

    要创建一个音乐播放器的微信小程序,您需要熟悉微信小程序的开发环境和语言(如 JavaScript 和 WXML/WXSS). 具体来说,您需要做以下几件事: 设计音乐播放器的用户界面,并使用 WXML ...

  3. 简单分享怎么开发自己的微信小程序_微信小程序快速制作步骤

    小程序开发除了专业人士会自己开发之外,就是外包开发和模板搭建这两种方法. 外包小程序开发需要持续不断地与外包团队沟通,投入的精力也不少,总体价格不低,基本在万元左右, 最适合新手的还是小程序模板搭建啦 ...

  4. 微信公众账号后台怎么解除小程序_微信小程序解除绑定 微信小程序怎么授权...

    该如何注销小程序? 微信小程序目前无法取消,也是微信小程序最脆弱.最无助的地方.如果你确定你不想要这个小程序,你可以转移和改变主题和其中的所有信息,这样你的小程序就会变成别人的小程序,与你无关.相当于 ...

  5. 用python写一个程序控制其它软件_程序员:利用Python实现可控制肉鸡的反向Shell...

    一.初识 1.1 用 Python 实现一个可以管理多个肉鸡的反向 Shell,为什么叫反向 Shell 呢?反向就是肉鸡作为 Client 主动连接到我们的 Server 端,以实现对多个远程主机的 ...

  6. python制作桌面小程序_微信小程序在线制作:快速生成一个餐饮小程序

    相信很多餐饮行业的商家都遇到过这类问题:一到用餐高峰期,餐厅内就拥挤不堪,工作人员也忙得不可开交,前厅后厨来回跑,时间长了顾客也等得不耐烦.此外,外卖平台的高额抽成也让普通餐饮商家生存越来越艰难.本来 ...

  7. 用python写一个简单的爬虫_用Python编写一个简单的爬虫

    作者信息: Author : 黄志成(小黄) 博客地址: 博客 呐,这是一篇福利教程.为什么这么说呢.我们要爬取的内容是美图网站(嘿嘿,老司机都懂的) 废话不多说.开始今天的表演. 这个图集网站不要问 ...

  8. python写一个表白程序带时间_使用python实现抖音表白

    python抖音表白程序源代码 本文实例为大家分享了python抖音表白程序的具体代码,供大家参考,具体内容如下 import sys import random import pygame from ...

  9. 微信抽奖java代码_微信小程序活动助手,包括nodejs后台管理系统和java后台接口

    项目描述 在一个兼职群接的一个项目,断断续续做了差不多一个月多点,最后不了了之,在这里,给一些想接兼职的小老弟讲讲, 个人想接兼职的话,接一些简单的,半天,一天做完的,钱少点也没关系.规矩要求别太多的 ...

最新文章

  1. ACMNO.19 C语言-对角求和 求一个3×3矩阵对角线元素之和。 输入 矩阵 输出 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7
  2. Windows PE导出表编程3(暴力覆盖导出函数)
  3. PAT甲级1101 Quick Sort:[C++题解]DP、快速排序划分个数、快排
  4. 什么是JVM内存模型
  5. 华为海选开发者状元?还送14件豪礼?
  6. 这8种保证线程安全的技术你都知道吗?
  7. 【最小生成树】还是畅通工程
  8. Java文件上传接口
  9. 遇到了javah无法访问类的问题
  10. 什么是好用的身份证实名认证api接口?其应用场景有哪些?
  11. Java web 几种实现在网页页面里播放视频的 插件及方法
  12. 共享锁和排他锁的区别
  13. 美拍视频怎么下载?美拍视频解析下载和保存工具
  14. 高级计算机应用a,A东师计算机应用基础15春在线作业.doc
  15. 博图软件备份程序监控数据
  16. centos 批量替换文件内容
  17. 怎样调整计算机显示屏窗口,怎么调整电脑窗口的大小
  18. 1005.E. Maximize Sum Of Array After K Negations
  19. 如何2周拿到Google Cloud专业架构师认证
  20. 软件危机的定义?软件危机的7个典型表现和为什么会出现软件危机?

热门文章

  1. Linux杀死进程的多种方法
  2. idea设置护眼色(看这一遍即可)
  3. 一张图看懂 SQL 的各种 join 用法!
  4. vue路由传值和路由跳转
  5. 五、Oracle 序列
  6. [云原生专题-61]:Kubesphere云治理-安装(3)-可插拔组件的安装
  7. KNN实现手写数字识别Python
  8. php视频设置背景音乐,怎么给视频配上应景的背景音乐?视频添加背景音乐的方法|视频添加配乐的软件...
  9. 情场杀手总结泡妞的32条经验
  10. Echarts formatter