吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 104392|回复: 1212
收起左侧

[Windows] 支付宝五福53张自动领取程序

    [复制链接]
吹风机 发表于 2021-2-2 19:55
本帖最后由 吹风机 于 2021-2-3 19:00 编辑

支付宝联合其他52个产品推出送五福的活动,用pyhton简单写了一个自动连续领取的程序,只需要每隔60s把手机的验证码输入即可。

屏幕截图 2021-02-02 121532.png

暂无GUI界面,程序自取,觉得好用可以给一个大大大的赞哦,原创审核太慢了,还是精品软件区好{:1_918:}
注意:连续获取60(2月3日,根据大家的情况反映,支付宝已经把风控数量调整到10个验证码左右,24小时后解除风控)个支付宝验证码则会被风控,24小时内无法继续获取验证码,请按照需求获取!!

使用说明:

首先输入要领取的站点开始的序号,总共53个站点可以领取
每隔60s会自动切换到下个站点进行领取,已经领取成功的,会进行记录,下次程序运行时将忽略领取成功的站点
如果要换手机号领取,需要重新解压这个压缩包,把success.json覆盖掉,不然会因为上个手机号领取成功的站点而进行跳过。

注意:支付宝此活动不能连续获得602月3日,根据大家的情况反映,支付宝已经把风控数量调整到10个验证码左右,24小时后解除风控个验证码,否则24小时内无法再参加此次活动!

程序暂无GUI页面,先凑合着用把。site.json和success.json必须和程序在一个目录,否则程序会闪退!

因为打包环境是64位的,所以程序不支持32位操作系统。

因为此次支付宝五福为了让大家交换卡,每人获得除了敬业福之外的随机两种福的概率是最大的,所以一般会大量开出两种福,这是正常现象。

下载:  https://wwe.lanzouj.com/iw0pEl9lxhg  密码:aqab

转载标明出处即可,最后祝大家能够抽到自己想要的福{:1_893:}

很多人想要检查一下代码的安全性,其实我没有在程序中加壳,直接反编译即可看到了。有人如果有人想要改进的话直接改就可以了哦。

import requests
import os
import codecs
import sys
import time
import json
import re

class WebRequests:

    def __init__(self):
        self.dirPath = ''
        self.getCaptchaUrl = 'https://rds.alipay.com/captcha.htm'

        self.getResultUrl = 'https://mobilegw.alipay.com/mgw.htm'

        self.operationType = {
            'sendVerifyCode': 'alipay.tradecsa.biz.blessingprod.wufu2021.sendVerifyCode',
            'outPrize': 'alipay.tradecsa.biz.blessingprod.wufu2021.outPrize'
        }

        self.s = requests.Session()

        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Linux; U; Android 10; zh-CN; MI 9 Build/QKQ1.190828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 Quark/4.3.3.145 Mobile Safari/537.36 Edg/89.0.4389.6',
            'DNT': '1'
        }

    def loads_jsonp(self, _jsonp):
        try:
            return json.loads(re.match(".*?({.*}).*", _jsonp, re.S).group(1))
        except:
            raise ValueError('Invalid Input')

    def getCaptcha(self, mobile, source):
        digits = 32
        hex = codecs.encode(os.urandom(digits), 'hex').decode()
        data = {
            'appid': "blessingprod_wufu_otp",
            'bizNo': hex,
            'mobile': mobile,
            'refer': "",
            'scene': "DO_NOTHING",
            'type': "silence",
            'useragent': "Mozilla/5.0 (Linux; U; Android 10; zh-CN; MI 8 UD Build/QKQ1.190828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 Quark/4.3.3.145 Mobile Safari/537.36 Edg/89.0.4389.6"
        }
        self.s.options(self.getCaptchaUrl)
        try:
            r = self.s.post(self.getCaptchaUrl, json=data,
                            headers=self.headers)
            # print(r.text)

            rdsToken = json.loads(r.content)['data']['extra']['token']
            requestData = [{"mobile": mobile, "source": source,
                            "rdsBizNo": hex, "rdsToken": rdsToken}]
            getResultData = {
                '_fli_online': True,
                'operationType': self.operationType['sendVerifyCode'],
                'requestData': str(requestData),
                '_': int(round(time.time() * 1000)),
                'callback': 'jsonp' + str(int(round(time.time() * 1000)))
            }

            re = self.s.get(self.getResultUrl,
                            params=getResultData, headers=self.headers)
            # 'jsonp16121({"resultStatus":1000,"result":{"code":"5101","resultView":"人气太旺了,请稍后再试","success":true}})'
            # print(re.text)
            re_json = self.loads_jsonp(re.text)
            if re_json['result']['success'] == True:
                return {"code": 1000, "info": f'成功获取验证码,请注意查收'}
            else:
                resultView = re_json['result']['resultView']
                return {"code": 1001, "info": f'获取验证码失败,原因为{resultView}'}
        except Exception as e:
            return {"code": 1001, "info": f'获取验证码失败,原因为 {e}'}

    def getResult(self, mobile, source, ackCode):
        requestData = [
            {"mobile": mobile, "source": source, "ackCode": str(ackCode)}]
        getResultData = {
            '_fli_online': True,
            'operationType': self.operationType['outPrize'],
            'requestData': str(requestData),
            '_': int(round(time.time() * 1000)),
            'callback': 'jsonp' + str(int(round(time.time() * 1000)))
        }

        try:

            re = self.s.get(self.getResultUrl,
                            params=getResultData, headers=self.headers)
            # jsonp16121({"resultStatus":1000,"result":{"code":"50144","hasPrized":false,"hasUserId":false,"resultView":"已经领取过奖品","success":false}})
            # print(re.text)
            re_json = self.loads_jsonp(re.text)
            if re_json['result']['success'] == True:
                return {"code": 1000, "info": f'成功领取'}
            else:
                resultView = re_json['result']['resultView']
                return {"code": 1001, "info": f'领取失败,原因为 {resultView}'}
        except Exception as e:
            return {"code": 1001, "info": f'领取失败,原因为 {e}'}

    def getSiteNum(self):
        path = os.path.join(self.dirPath, "site.json")
        with open(path, 'r', encoding='utf8')as fp:
            json_data = json.load(fp)
            return len(json_data['channelList'])

    def getSiteInfo(self, num):
        path = os.path.join(self.dirPath, "site.json")
        with open(path, 'r', encoding='utf8')as fp:
            json_data = json.load(fp)
            length = len(json_data['channelList'])
            if num > length:
                print(f"站点的长度为{length},{num}已经超出这个长度")
                return None
            return json_data['channelList'][num-1]

    def getAllSiteInfo(self):
        path = os.path.join(self.dirPath, "site.json")
        with open(path, 'r', encoding='utf8')as fp:
            json_data = json.load(fp)
            return json_data['channelList']

    def getSiteName(self, siteInfo):
        return siteInfo['sourceList'][0]['name']

    def getSiteSource(self, siteInfo):
        return siteInfo['sourceList'][0]['source']

    def addSuccessSite(self, siteInfo):
        path = os.path.join(self.dirPath, "success.json")
        add = self.isSuccessSite(siteInfo)
        if add == False:
            with open(path, 'r+', encoding='utf8')as fp:
                json_data = json.load(fp)
            with open(path, 'w', encoding='utf8')as fp:
                json_data['channelList'].append(siteInfo)
                fp.write(json.dumps(json_data, indent=4))

    def isSuccessSite(self, siteInfo):
        path = os.path.join(self.dirPath, "success.json")
        with open(path, 'r+', encoding='utf8')as fp:
            json_data = json.load(fp)
            if siteInfo in list(json_data['channelList']):
                return True
            else:
                return False

def main(path):
    webRequests = WebRequests()
    webRequests.dirPath = path
    print(f"总共有{webRequests.getSiteNum()}个站点可以领取福卡")
    for i in range(1, webRequests.getSiteNum()+1):
        siteInfo = webRequests.getSiteInfo(i)
        siteName = webRequests.getSiteName(siteInfo)
        print(f"{i}:{siteName}")

    startSite = int(input("您要从第几个站点开始向后领取?"))
    mobile = input("请输入您的手机号:")

    for i in range(startSite, webRequests.getSiteNum()+1):
        siteInfo = webRequests.getSiteInfo(i)
        siteName = webRequests.getSiteName(siteInfo)
        siteSource = webRequests.getSiteSource(siteInfo)
        if webRequests.isSuccessSite(siteInfo):
            print(f"{i}:{siteName} 已经成功领取,跳过")
            continue
        print(f"{i}:{siteName} 正在领取中")
        result = webRequests.getCaptcha(mobile, siteSource)
        print(result['info'])
        if result['code'] == 1001:
            if str(result['info']).find("验证码发送过频繁") != -1:
                print("验证码需等待60s后才能获取,正在等待..")
                time.sleep(60)
                result = webRequests.getCaptcha(mobile, siteSource)
            if str(result['info']).find("人气太旺啦,稍候再试试") != -1:
                print("您的手机号在近期已经获得了多次支付宝验证码,已被支付宝限制,24小时内无法再获得验证码,程序终止。")
                break
            elif str(result['info']).find("人气太旺啦,稍候再试试") == -1 and str(result['info']).find("验证码发送过频繁") == -1:
                continue
        ackCode = input("请输入验证码:")
        result = webRequests.getResult(mobile, siteSource, ackCode)
        print(result['info'])

        if result['code'] == 1000 or result['info'].find("已经领取过奖品") != -1:
            webRequests.addSuccessSite(siteInfo)

        print("验证码需等待60s后才能获取,正在等待..")
        time.sleep(60)

    input("程序已结束,您可以关闭此程序了")

if __name__ == '__main__':
    path = os.path.dirname(os.path.realpath(sys.argv[0]))
    main(path)

点评

加油!温馨提示:60秒内验证码都是有效可以重复使用的,可以稍微修改一下逻辑,避免触发限制  发表于 2021-2-5 20:07

免费评分

参与人数 603吾爱币 +558 热心值 +549 收起 理由
sunnylds7 + 1 + 1 热心回复!
夜靥丰流 + 1 + 1 用心讨论,共获提升!
mogongzi + 1 + 1 我很赞同!
lengtoo + 1 + 1 热心回复!
liu2514 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ts97 + 1 + 1 热心回复!
相思终成疾 + 1 + 1 谢谢@Thanks!
silvanevil + 1 + 1 谢谢@Thanks!
啦啦啦听不见 + 1 + 1 谢谢@Thanks!
huiyi1021 + 1 热心回复!
zxyfy + 1 + 1 谢谢@Thanks!
AG6 + 1 + 1 我很赞同!
Maxzby + 1 + 1 谢谢@Thanks!
村东头你张叔 + 1 + 1 我很赞同!
lyfjyq + 1 + 1 为1元钱,费这么大功夫。
sxxy936 + 1 热心回复!
yixi + 1 + 1 谢谢@Thanks!
寒风99 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wecat + 1 + 1 热心回复!
panziwang + 1 + 1 用心讨论,共获提升!
iro7 + 1 + 1 我很赞同!
dominicchen + 1 + 1 谢谢@Thanks!
std186 + 2 + 1 谢谢@Thanks!感谢大神的无私奉献
dechong + 1 + 1 谢谢@Thanks!
yeechou + 1 + 1 谢谢@Thanks!
飘浮的云 + 1 + 1 热心回复!
1044535027 + 1 + 1 谢谢@Thanks!
帽合 + 1 我很赞同!
syhch + 1 + 1 谢谢@Thanks!
mchankun + 1 + 1 热心回复!
jyr0000 + 1 + 1 谢谢@Thanks!
ccnnssnncs + 1 + 1 我很赞同!
MarryZ + 1 谢谢@Thanks!
liuyang589 + 1 + 1 我很赞同!
jzm713 + 1 + 1 热心回复!
r47099 + 1 + 1 谢谢@Thanks!
hap + 1 + 1 鼓励转贴优秀软件安全工具和文档!
咩咩咩咩羊 + 1 + 1 人才啊!
红心鸭蛋 + 1 + 1 谢谢@Thanks!
willlam + 1 谢谢@Thanks!
Bluesky10 + 1 + 1 热心回复!
小小mengxin + 1 + 1 谢谢@Thanks!
秦一 + 1 谢谢@Thanks!
efaaron + 1 谢谢@Thanks!
青榈 + 1 + 1 nice啊
chenpeng3377 + 1 + 1 谢谢@Thanks!
蔓延旅行 + 1 + 1 牛逼大佬
widdwijj + 1 + 1 热心回复!
大星星 + 1 我很赞同!
nlp + 1 热心回复!
玖月__ + 1 热心回复!
potatomato + 1 + 1 谢谢@Thanks!
唐小样儿 + 1 + 1 我很赞同!
南湖之城 + 1 + 1 我很赞同!
Friday. + 1 热心回复!
barry1204 + 1 + 1 谢谢@Thanks!
zhouyu010 + 1 + 1 谢谢@Thanks!
神经病院院长 + 1 + 1 用心讨论,共获提升!
heykuz + 1 + 1 我很赞同!
Charon_wth + 1 + 1 谢谢@Thanks!
我是砂子 + 2 + 1 热心回复!
didin + 1 谢谢@Thanks!
AZMTxue + 1 + 1 我很赞同!
larkspur + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
洪文涛 + 1 谢谢@Thanks!
kaiye666 + 1 我很赞同!
cpzxczj + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
moonwindbj + 1 获取验证码失败,原因为人气太旺啦,稍候再试试 您的手机号在近期已经获得.
134wap + 1 + 1 谢谢@Thanks!
jordi1229 + 1 + 1 谢谢@Thanks!
whq + 1 我很赞同!
JohnZhu + 1 + 1 我很赞同!
林中显鹿 + 1 + 1 虽然没有用,但是谢谢
浅夏丶莫离 + 1 + 1 用心讨论,共获提升!
zthonline + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
weilaiguang42 + 1 + 1 我很赞同!
okgjkk + 1 + 1 谢谢@Thanks!
miocaro507 + 1 + 1 我很赞同!
Eddyiy + 1 + 1 热心回复!
dxlmn + 1 + 1 谢谢@Thanks!
王子爱屋及屋 + 1 谢谢@Thanks!
skypojie51 + 1 我很赞同!
Foryou丶恋 + 1 + 1 用心讨论,共获提升!
lcc33 + 1 + 1 谢谢@Thanks!
Right_Hai + 1 谢谢@Thanks!
hukky + 1 + 1 用心讨论,共获提升!
赞恩弗林特 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dblkings + 2 + 1 我很赞同!
唯一11044 + 1 + 1 我很赞同!
VIP-YOHO + 1 + 1 我很赞同!
asdkula + 1 + 1 热心回复!
fCd9H#TjlaMBPSa + 1 + 1 谢谢@Thanks!
t531w934207 + 1 热心回复!
kinggan + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
狂笑一君 + 1 + 1 谢谢@Thanks!
18177097643 + 1 + 1 我很赞同!
oguan + 1 + 1 我很赞同!
无象心 + 1 + 1 谢谢@Thanks!
gyy + 1 + 1 我很赞同!
jackjingwei + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

本帖被以下淘专辑推荐:

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

pojie1655 发表于 2021-2-2 20:20
不敢用啊!
一个梦而已 发表于 2021-2-2 21:30
ljk23 发表于 2021-2-4 12:32
闷骚小贱男 发表于 2021-2-2 20:04
破解粉丝 发表于 2021-2-2 20:02
请问这个是电脑和手机要同时操作吗

是的,也可以单独做安卓版的,但是全自动的那种,是需要读取手机短信内容的..可能相对来说不是很安全??
txz847502262 发表于 2021-2-2 21:03
好东西,昨天手动领了半天
 楼主| 吹风机 发表于 2021-2-2 20:26
zhu0797zhu 发表于 2021-2-2 20:22
要支付宝账号登录吗,会不会影响号。

不需要支付宝账号登陆,这个验证码只是活动页面领取时需要输入的,这个程序就是完全自动化完成了,否则还要自己手动进入网页输入手机号和验证码
chengnan945 发表于 2021-2-2 21:06
清一色领取失败,人气太旺
xiaoqi233 发表于 2021-2-2 22:04
为了分这一元多钱,也是拼了呀
 楼主| 吹风机 发表于 2021-2-2 20:04
破解粉丝 发表于 2021-2-2 20:02
请问这个是电脑和手机要同时操作吗

手机每隔60s会收到一个验证码,把收到的验证码填上去就行了
wyxny 发表于 2021-2-2 20:33
我咋不会用,没见收到福啊
银特么 发表于 2021-2-2 20:00
牛逼坏了 感谢分享
idopojie 发表于 2021-2-2 20:02
太强了。正需要
破解粉丝 发表于 2021-2-2 20:02
请问这个是电脑和手机要同时操作吗
沉心云 发表于 2021-2-2 20:04
感谢楼主分享
撒欢曲奇 发表于 2021-2-2 20:04
刚好有用蟹蟹蟹蟹
rongbing5000 发表于 2021-2-2 20:07
感谢分享 不错
mymppp 发表于 2021-2-2 20:09
手机号要注册这些app?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-22 06:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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