Python项目实战抓取-某漫画app逆向
2021/7/17 14:36:01
本文主要是介绍Python项目实战抓取-某漫画app逆向,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
一工具的准备
二项目思路
三简易代码提供参考
一工具的准备
1.fiddler抓包工具 ,夜神模拟器
2.python环境,Java环境
3.漫画app准备
4.java反编译工具
二项目思路
配置好抓包工具和夜神模拟器
豆瓣夹下载漫画applink.
安装到夜神模拟器
抓取app数据
解析抓取的数据:
post请求
变化的参数client-time, client-sign
client-time 比较明显是时间戳
client-sign 是加密数据
在这里插入图片描述
client_type = 'android' app_devicetoken = "e571dd8bd67803995b9bdcfefb58662b" phone_mark = "58D83850AA58CCB094954B30F9C4D3C4" client_time = str(int(time.time() * 1000))
解析app
将apk安装包后缀修改为rar, 解压压缩包得到app对应文件
得到Java的classes文件
对获取的classes.dex进行反编译,工具可以自行查找,或者沟通群获取
将classes.dex 移动到解析的文件夹
进入windows powershell cd 到反编译的文件夹
执行命令 .\d2j-dex2jar.bat .\classes.dex
得到 classes-dex2jar.jar 文件 这个就是java的源代码了
将代码拖动到你的java反编译器 JD-GUI
就能得到全部的java代码
搜索对应的加密参数:client-sign
确定生成client-sign 为b.class 打开对应文件
找到数据的加密规则
原来加密的方式是md5
加密的数据是由时间戳来决定的
content = '3.0.1' + client_type + str(client_time) + app_devicetoken + phone_mark + "0" + "" + "{54563A97-2BBA-7F31-D4C1-8EF72F4A98E6}" client_sign = hashlib.md5(content.encode("utf-8")).hexdigest()
确定请求头的全部参数
headers = { 'client-ver': '3.0.1', 'client-type': client_type, 'client-time': str(client_time), 'phone-mark': phone_mark, 'app-devicetoken': app_devicetoken, 'sina-uid': '0', 'sina-token': '', 'VREADREFER': 'vmh_client', 'client-sign': client_sign, 'Cache-Control': 'no-cache', 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 'Content-Length': '223', 'Host': 'api.manhua.weibo.com', 'Connection': 'Keep-Alive', 'Accept-Encoding': 'gzip', 'User-Agent': 'okhttp/3.8.0', }
需要传递的参数
data = "client_ver=3.0.1&client_type={}&client_time={}&phone_mark={}&app_devicetoken={}&sina_uid=0&sina_token=&client_sign={}".format(client_type, client_time, phone_mark, app_devicetoken, client_sign)
三简易代码提供参考
内容涉及该app, 只限技术探讨
总结
下面是我整理的一些学习资料
- Python学习路线
- Python自学视频
- 300本电子书加学霸笔记
- 100个游戏源码、项目案例
- Python安装包以及教程和激活码
君羊号:【881744585】获取
这都是我总结出来的宝贝,给需要的小伙伴,希望大家的努力都不负所望。【广告勿扰谢谢】
这篇关于Python项目实战抓取-某漫画app逆向的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程