栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学习爬虫需要的知识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习爬虫需要的知识

爬虫进阶三阶段

javascript 生成一个随机算法 js加密
逆向js

app逆向
eg:抖音,闲鱼
爬取某个app逆向,找到算法,实现某个功能。

搞app逆向技术栈: java,c,安卓开发,ndk开发。
只有会编写app,才会看得懂代码,实现app内部的逆向实现。
汇编,脱壳,JNI静态分析。

案例

某乎app搜索接口
涉及: java层逆向,so文件逆向(C语言分析) webView(JS逆向)
几乎涉及逆向的所有点

算法可能会改变,但是大致的逻辑相同。

前戏 抓包

模拟人的请求。
抓包软件: charles(电脑window和mac都可以)
安卓手机: root,安装charles证书(https),设置charles代理。
安卓7版本之后,想要抓包,得安装证书,在root目录下。
手机设置charles代理。

几乎所有主流文件都要逆向so文件(C语言代码),模拟器不行的。
一定要准备一台:已root的安卓手机。

低成本root手机:红米8A 300块钱,可以进行root的。

逆向四阶段

level1
直接在抓包软件中找到请求(无算法,无加密)。
大都是无关紧要的接口。

简单接口直接通过python实现。

level2
通过APK反编译(逆向)可以得到java的代码。
反编译apk工具: jeb,jadx,gda + , 看懂java代码(加壳)。
加密:apk文件代码 加密了,不可以反编译直接得到java代码,需要脱壳+逆向。

level3

hook: app内部执行某个功能,需要调用某个函数。通过hook技术,将这个函数,换成我们自己的函数。
可以写跟函数相同的参数,将穿入的值拿到。
工具: frida

level4
厉害的app,内部算法都是全部用C语言来实现。(基于JNI用C语言实现)。

ida工具,反编译so文件,获取c语言代码。
C语言计算长度,JNI和C语言转换。

玩逆向得安装的相关工具

两个维度分析

分析URL
URL: 请求的网址

将URL写入python代码

分析请求头

x-app-version 固定的版本号(app的版本是固定的),不用逆向
x-udid 和 x-ac-udid 类似,一个算法
x-hd,一个算法
x-zse-96, 一个算法

一共三个算法
x-udid
x-hd
x-zse-96

x-udid

1.通过反编译工具,将jdk反编译成java代码
2.搜索 x-udid
检查代码发现: 某乎 的 x-udid不是通过算法生成,而是网络请求生成的。

x-hd

x-hd 向某个地址发送请求,请求返回出来的,不是通过算法生成。

x-zse-96

知乎嵌套的html界面
分析出其中的js页面

技术的目的是为了商业服务的。

蚂蚁市场
没有巨头,全是散家。
IT技术小私活,单价在2w以下的私活。

需要两个方向:
流量 和 技术

技术方向:
按 下面 在B站挨个搜自学

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/685156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号