百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python 逆向抓取 APP 数据 app爬虫逆向

off999 2024-12-16 15:20 27 浏览 0 评论

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

接下来由「小帅b的朋友:Houser」 给大家演示一下,如何逆向抓取 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 Hook


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



同时来抓包对比:



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


pageIndex:当前页码

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


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



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


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


请求


直接上代码:



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



ok,以上就是逆向 app 爬虫的全部内容,可以看到,现在数据加密已经很普遍了,随便一个很小的 app 都有好几道数据保护机制,这次只涉及到 java 层的加密,下次来讲讲 native 层加密的 hook 方法、frida-rpc 主动调用以及逆向神器 inspeckage 的应用。


最后,以上内容仅供学习交流,小帅b今天的分享希望能给你带来一点帮助,那么我们下回见,peace!


关注我

收获更多骚操作

相关推荐

小白三步装机教程(小白三步装机法)

下面给大家整理了一份小白装机的详细教程,有需要的朋友们快来看看吧!1、我们下载一个小白软件,然后选择了安装win7系统。2、在下载界面,下载速度取决于您的网络您只需要耐心等待即可。3、软件下载完成后会...

winpe下载官网下载iso(winpe.iso下载)

你好,以winpe装win7iso系统说明安装步骤:  1、根据教程制作好winpe启动盘,然后将下载的win7iso系统文件直接复制到U盘的GHO目录下;  2、在需要装系统的电脑上...

把系统装在u盘(把系统装在u盘里的缺点)

系统装进U盘有效的方法。1、下载并且安装好大白菜装机版,打开安装好的大白菜装机版,插入u盘等待软件成功读取到u盘之后,点击“一键制作启动u盘”进入下一步操作:2、弹出的信息提示窗口中,选择自己下载的的...

恢复出厂设置对电脑有影响吗

电脑恢复出厂设置,对系统没有影响,原因如下:1、系统还原是电脑在使用中的一种正常运作,不还原电脑无法正常运行,系统还原是对电脑的维护,不会对电脑或系统造成损害。2、系统还原是一次大容量的数据读写、清除...

注册邮箱163免费登录入口官网

注册网易邮箱账号步骤如下:1、在浏览器的地址栏输入http://email.163.com/进入网易邮箱的登录页面,点击页面下方的立即注册2、点击立即注册进入邮箱的注册页面,点击页面上面的注册字母邮箱...

产品密钥win10专业版激活密钥免费

1不存在永久激活密钥,但可以使用一些有效期长的密钥去激活Win10专业版。2Windows10的激活方式是基于数字权利,当你购买Windows10时,系统会将您电脑的硬件信息和购买记录绑定在一起...

ghostxp系统下载怎么安装教程

系统之家下载的XP系统通常是一个ISO镜像文件,安装这个系统需要通过一些步骤来制作可启动安装介质并进行系统安装。以下是安装的基本步骤:准备安装介质:使用工具如Rufus或AnyBurn将下载的ISO文...

无线网桥监控安装方法(无线网桥怎么连接监控)

网桥连接无线路由器安装的设置方法如下1.主路由器上网正常,副路由器LAN口插一根网线,另一头连接电脑。主副路由器不需要用网线连接。2.电脑开机输入副路由器背面的设置地址,进入登录界面输入背面的账号密码...

怎么对电脑文件夹加密(怎么对电脑文件夹加密码)

1.右键点要加密的文件或文件夹,然后单击“属性”;2.在“常规”选项卡,点击“高级”。选中“加密内容以便保护数据”复选框;3.在加密文件夹时,系统将询问是否要同时加密它的子文件夹。要如果选择是,那它的...

windows系统下载手机(win10下载手机)

OPPO手机重新下载安装系统:先备份好重要数据!然后手机连接电脑把下载的固件存入手机。然后再长按电源键十秒钟进入关机状态(可拆卸电板的需取下电板然后重新安装)。再同时按住电源键跟音量减键,进入reco...

电脑系统分区怎么分(电脑系统分区怎么分区)

分区是将硬盘分割成不同的逻辑部分,每个分区可以被视为一个独立的存储设备。通过分区,可以更好地管理数据和操作系统。要进行电脑分区,可以按照以下步骤进行:1.确定分区方案:首先需要确定分区的目的和需求。...

电脑显卡怎么选择(电脑显卡怎样选择)

以下是一些通用的方法:1.在硬件层面进行配置:首先需要确认您的主板和操作系统是否支持多GPU并行,以及您的电源是否提供足够的功率支持。在BIOS中启用多GPU选项,并安装正确的驱动程序。然后,通...

设置软件下载(设置软件下载入口)

iphone13app的下载设置1、首先,打开手机桌面的【设置】。2、在设置界面,点击【面容ID与密码】。3、这时设置了键盘锁的会要求你输入键盘锁密码进入。4、进入之后,找到【iTunesStore...

电脑麦克风插孔是哪个(电脑麦克风插那)

1.蓝色的为音频输入口。一般的电脑后面都有三个音频接口:蓝色是音频输入,绿色是音频输出,粉红色麦克风。  2.音频输入(蓝色),为外接光驱.随身听及其它音频输入设备,即可以把外部的设备声音传送至电脑...

ie浏览器打不开网页怎么修复

第一步:打开“运行”输入—〉cmd—〉回车然后把下面这行字符复制到黑色cmd框里面去回车等待dll文件全部注册完成就关闭可以了(下面是要运行的代码):for%1in(%windir%\syste...

取消回复欢迎 发表评论: