学习爬虫需要的知识

学习爬虫需要的知识,第1张

学习爬虫需要的知识 爬虫进阶三阶段

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站挨个搜自学

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5685704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存