iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python逆向抓取APP数据
  • 472
分享到

如何使用Python逆向抓取APP数据

Python逆向抓取APP数据Python逆向抓取Python抓取APP数据 2022-06-02 22:06:24 472人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

今天给大伙分享一下 python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固,所以除了抓包之外,

今天给大伙分享一下 python 爬虫教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固,所以除了抓包之外,还需要对 APP 进行查壳脱壳反编译等操作。

所需设备和环境:

设备:安卓手机

抓包:

fiddler+xposed+JustTrustme

查壳:ApkScan-PKID

脱壳:frida-DEXDump

反编译:jadx-gui

hook:frida

抓包

手机安装app,设置好代理,打开 fiddler 先来抓个包,发现这个 app 做了证书验证,fiddler 开启之后  app提示连接不到服务器

图片

那就是 app 做了 SSL pinning 证书验证,解决这种问题一般都是安装 xposed 框架,里面有一个 JustTrustme 模块,它的原理就是hook,直接绕过证书验证类,安装方法大家百度吧。

之后再打开app,可以看到成功抓到了包:

图片

先简单分析一下,可以看到请求体中 fORMdata 是密文,响应内容也是密文,这个请求和响应中有用信息非常少,甚至都不知道在 jadx-gui 里怎么搜索,请求体中 formdata 是以两个等号结尾的,应该是个 base64 编码,其他一概不知。。。

脱壳反编译

那先来反编译,在这之前,通常是先用查壳工具检查一下 app 是否加固,打开 ApkScan-PKID ,把 app

可以看到这个 app 使用了 360 加固,真是层层设限啊!!这里使用frida-DEXDump来脱壳,可以到 GitHub 上下载 frida-DEXDump 的源代码,完成之后打开项目所在文件夹,在当前位置打开命令行运行以下命令:

Python main.py

等待脱壳完成,可以看到当前项目中生成了一个对应文件夹,里面有很多dex文

图片

下面用 jadx-gui 打开 dex 文件,一般先从最大的文件开始依次搜索关键字,我们知道 java 中使用 base64 是有 BASE64Encoder 关键字的,因为抓包得到的信息非常少,在这里就只能搜索这个关键字了,搜到第四个dex中,得到了疑似加密处:

图片

可以看到是使用了一个 aes 加密,密钥是固定的字符串

Frida Hoo

Java不太熟,分析不来,直接使用 frida 来写一段 hook 代码看一看 encrypt 函数入参和出参的内容:

图片

同时来抓包对比:

图片

图片

就得到了这里的请求 data 入参数据:

pageIndex:当前页码

pageSize:当前页对应的数据条数

typeId 和 source 是固定的, 接下来再来 hook decrypt 函数,对比抓包和 hook 结果:

图片

图片

结果是一样的,至此,我们逆向分析就完成了。

总结一下请求和响应过程,就是请求体中的 data 经过 encrypt 函数加密传参,改变 pageIndex 就可以得到每页数据,响应是经过 decrypt 函数加密显示,那我们只需要在 python 中实现这个 aes 加密解密过程就行了,从反编译的 java 代码中可以看出密钥是固定的:wxtdefgabcdawn12,没有 iv 偏移。

请求

直接上代码:

图片

运行代码,成功拿到数据:

图片

到此这篇关于如何使用Python逆向抓取APP数据的文章就介绍到这了,更多相关Python逆向抓取APP数据内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何使用Python逆向抓取APP数据

本文链接: https://www.lsjlt.com/news/10729.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python如何逆向抓取APP数据
    本篇内容介绍了“Python如何逆向抓取APP数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!所需设备和环境:设备:安卓手机抓包:fidd...
    99+
    2023-06-16
  • python怎么抓取app数据
    要抓取App数据,可以使用Python中的第三方库和工具,例如Appium、Selenium、requests等。 使用Appi...
    99+
    2024-04-02
  • Python中如何利用appium抓取app应用数据
    今天就跟大家聊聊有关Python中如何利用appium抓取app应用数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是selenium?Selenium原本是一个用于Web应用...
    99+
    2023-06-02
  • Python抓取移动App数据使用mitmweb监听请求与响应
    mitmproxy有3中监听请求与响应的方式: mitmproxy控制台方式mitmdump与Python对接的方式mitmweb可视化方式 前2种都是基于控制台的方式,尽管第2种通...
    99+
    2024-04-02
  • python如何实现逆向微信指数爬取
    这篇文章给大家分享的是有关python如何实现逆向微信指数爬取的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信指数爬取 Appium + mitmproxy + 网易mumu安卓模拟器实现微信指数小程...
    99+
    2023-06-29
  • 如何使用Node.js+Cheerio进行数据抓取
    这篇文章主要介绍“如何使用Node.js+Cheerio进行数据抓取”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用Node.js+Cheerio进行数据抓取...
    99+
    2024-04-02
  • Python如何求取逆序数
    目录Python求取逆序数方法一.py方法二.py方法三.pypython列表逆序数求解什么是逆序数总结Python求取逆序数 方法一.py num = int(input('请输入...
    99+
    2022-12-20
    Python求取逆序数 Python逆序数 求取逆序数
  • 使用python抓取B站数据的方法
    这篇文章给大家分享的是有关使用python抓取B站数据的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概述可以获取的数据包括:video-视频模块user-用户模块dynamic-动态模块这次用“Runnin...
    99+
    2023-06-15
  • 如何使用Python抓取今日头条街拍图片数据
    这篇文章主要介绍了如何使用Python抓取今日头条街拍图片数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。(1)抓取今日头条街拍图片(2)分析今日头条街拍图片结构keywo...
    99+
    2023-06-22
  • Python如何抓取淘宝IP地址数据
    这篇文章主要介绍Python如何抓取淘宝IP地址数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例代码def fetch(ip):    url =&n...
    99+
    2023-06-02
  • 如何用python抓取链家网二手房数据
    本篇内容介绍了“如何用python抓取链家网二手房数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!# -*- coding: utf-8i...
    99+
    2023-06-04
  • 如何使用JS逆向方法
    这篇文章主要介绍“如何使用JS逆向方法”,在日常操作中,相信很多人在如何使用JS逆向方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用JS逆向方法”的疑惑有所帮助!接...
    99+
    2024-04-02
  • 使用Python和Scrapy实现抓取网站数据
    目录一、安装Scrapy二、创建一个Scrapy项目三、定义一个Scrapy爬虫四、运行Scrapy爬虫五、保存抓取的数据六、遵守网站的robots.txt七、设置下载延迟八、使用中...
    99+
    2023-05-12
    Python Scrapy抓取网站数据 Python Scrapy抓取数据 Python Scrapy
  • php如何抓取网页数据
    在PHP中,可以使用cURL库来抓取网页数据。cURL(Client URL)是一个用于在PHP中进行网络通信的库,可以发送HTTP...
    99+
    2023-09-15
    php
  • 如何使用python爬虫抓取弹幕
    这篇文章主要讲解了“如何使用python爬虫抓取弹幕”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用python爬虫抓取弹幕”吧!一、爬虫是什么?百度百科这样说:自动获取网页内容的程序...
    99+
    2023-06-29
  • 怎么用python抓取游戏数据
    要使用Python抓取游戏数据,你可以按照以下步骤进行操作: 导入所需的库,例如requests和BeautifulSoup: ...
    99+
    2023-10-26
    python
  • 如何通过python抓取二手房价数据
    这篇文章主要讲解了“如何通过python抓取二手房价数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过python抓取二手房价数据”吧!模块安装同上次新房一样,这里需要安装以下模块(...
    99+
    2023-06-16
  • Python如何实现抖音评论数据抓取
    小编给大家分享一下Python如何实现抖音评论数据抓取,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. 抓取数据抖音出了 web 版,抓取数据方便了很多。抓评论滑到网页评论区,在浏览器网络请求里过滤包含comment的请...
    99+
    2023-06-28
  • 如何在Python中进行网络数据抓取
    如何在Python中进行网络数据抓取网络数据抓取是指从互联网上获取信息的过程,在Python中,有许多强大的库可以帮助我们实现这个目标。本文将介绍如何使用Python进行网络数据抓取,并提供具体的代码示例。安装必要的库在开始之前,我们需要安...
    99+
    2023-10-22
    数据抓取 Python编程 网络数据抓取
  • Linux中如何使用wireshark分析tcpdump抓取的数据包
    这篇文章将为大家详细讲解有关Linux中如何使用wireshark分析tcpdump抓取的数据包,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。很多时候我们的系统部署在Linux系统上面,在一...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作