万创帮逆向解析,让你也能体验技术变现【Python爬虫实战系列之万创帮闲置资源整合逆向】

171 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第22天,点击查看活动详情 ,这是爬虫系列的32篇。 前言 爬虫系列太难了,我算了一下这个系列从开始到现在我写了40篇左右了,但是现在这个专栏只显示30篇左右,大概有10篇左右下架了因为版权或者违规的问题,难受...

采集目标 网址:

m.wcbchina.com/login/login…

工具准备 开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:requests,md5

项目思路解析 这个数据的逆向是app的数据,想要解析的话大部分进行app的数据逆向,用在web网页的时候需要通过抓包工具进行设定,将左上角第二个选项点亮,把浏览器设置为手机的模式。

先输入错误的账户密码找到登录的请求接口,在进行数据的解析处理。

找到数据后开始进行解析:

请求网址为:m.wcbchina.com/api/login/l…

请求方法为:post

需要携带的请求头:user-agent

需求传递的参数:传递的数据类型为json,

{"auth":{"timestamp":1635225584675,"sign":"1992F839A06E27B22A03ADFAA6630F44"},"username":"17673942335","password":"D3432F4A98143D1951496D31ED76B5E2"} 重数据中可以看出数据网址里的rnd的值是随机数0-1的随机数,传递数据的timestamp为时间戳,sign,和password都是加密数据,确定数据后开始进行解析,解出sign和password的生成规律 通过搜索方式找到数据的生成位置,数据的加密方式为md5加密,可以打断点验证数据是否为我们想要的数据,sing的数据是 N , N的值是由h.hex_md5((v || "") + (g || "") + c).toUpperCase()生成的

打上断点查看数据的生成结果v和g的值都是空数据,c的数据是时间戳,那最终的sing的数据是对时间戳进行md5的加密加字符串大写的值,sing的值确定在来找password的值,在全局搜索password的关键字。

password的值是在loginAction进行获取在c.login进行参数传递,传递的数据密码就是md5的加密数据,password和sing数据都是进过md5加密的数据,思路清楚后开始书写代码。

简易源码分享 import requests # 发送网络请求的工具包 import json import time import random from hashlib import md5 ​ def main(): url = "m.wcbchina.com/api/login/l…" + str(random.random()) password = input('请输入你的密码:') password = md5(password.encode()).hexdigest() print(password.upper()) time_data = int(time.time()*1000) sign = md5(str(time_data).encode()).hexdigest().upper() ​ data = {"auth": {"timestamp": time_data, "sign": sign}, "username": "17673942335", "password": password.upper() } ​ ​ response = requests.post(url, data=json.dumps(data)) print(response.json()) ​ main() ​ 👇🏻 疑难解答、学习资料、路线导图可通过搜索下方 👇🏻

文章知识点与官方知识档案匹配,可进一步学习相关知识