| by 鲍 建伟 | No comments

微拍堂3.2.2简单逆向

需要环境:

1.root过的Android手机,Android版本最好是6.0
2.Packet Capture 1.5.0(手机上抓包的软件)
3.微拍堂3.2.2

1.使用Packet Capture对手机指定应用软件抓包

在手机上打开Packet Capture,进入主页面,点击红框内的按钮
在这里可以选择想要抓包的应用

我们点一下微拍堂,随即界面会变成下面这样:

点击右上角的停止按钮即可停止此次抓包

2.通过上面的操作,我们开始对微拍堂抓包,先打开手机上的应用,选择登录,输入手机号码以后,点击接受验证码,然后暂停抓包,打开Packet Capture看,每次抓包结束之后,Packet Capture会按照当前时间命名,所以回到Packet Capture点开刚刚你抓的包,可以见下图:

主要关注我画黑框的部分

Packet Capture里面–>标记下面是接受到的包,<–标记下面是发送的包,或者看颜色,红色是收到的,蓝色是发出的,上图中,第一个黑框里面是请求的头,第二个框里面是请求的data。所以啊,根据上面抓到的包,我们可以写出以下代码:

wpt_session = requests.Session()

def get_phone_num():
    phone_num = input('请输入手机号:')
    return phone_num

def get_sms_code(phone_num):
    sms_url = 'https://api.weipaitang.com/app/v1.0/user/send-code'
    headers = exchange_headers()
    data = 'telephone=' + phone_num + '&type=sms&nationCode=86'
    resp = wpt_session.post(sms_url, headers=headers, data=data)
    resp.encode = 'utf-8'
    return wpt_session

同理,当我们输入验证码之前,开始对微拍堂抓包,然后在输验证码之后停止抓包,同样可以还原微拍堂的登录过程。

至于为啥不一口气抓完输入手机号获取验证码登录的操作呢?因为我认为每次抓包应该捕获尽量少的包,这样看起来舒服点,哈哈哈。

最终源码地址:

https://github.com/bjw9808/scrapy

发表评论