【python爬虫实战】 001 技术路线图

本文介绍了Python爬虫的技术路线,从基础的requests和selenium到复杂的APP逆向,涵盖并发处理、JS逆向和APP抓包。同时,讲解了抓包工具charles的使用,以及安卓设备上的抓包和逆向过程,包括反编译apk工具有jeb、jadx、gda,Hook框架frida和ida用于反编译so文件。
摘要由CSDN通过智能技术生成

1.关于爬虫

爬虫开发者发展路线和相关技术栈

  • 小学生,爬虫入门。难度:*

requests、selenium、scrapy、app抓包⼯具等,⽤代码去模拟浏览器(UA、IP代理)

  • 中学⽣,并发&JS逆向(javascript)。难度:***

并发解决⽅案、Chrome断点调试、JavaScript语法、前后端分离、Node.js编译、JSONP、AES、RSA、BASE64等加密。

  • ⼤学⽣,APP逆向。难度:*****

adb、模拟器、⽹络抓包、脱壳、反编译、smali、dex结构、C语⾔基础、Java语⾔基础、安卓开发、NDK开发、Frida、xposed、JNI静态分析和动态调试等。

2.各种工具

2.1抓包

需要通过抓包软件来抓取网络请求,并分析请求,最终通过代码模拟出请求。

  • PC电脑:安装charles抓包工具(win/mac)
  • 安卓手机:root、安装charles证书(https)、设置charles代理

模拟器可以,但是如果你以后要逆向so⽂件(C语⾔代码),模拟器不⾏的。⼀定要准备⼀台:已root的安卓⼿机(红⽶8A-300块钱)。

2.2逆向

  • level 1,直接在抓包软件中找到请求(⽆算法、⽆加密)【初阶阶段】。

如果通过抓包软件抓到的数据⽐较简单,直接⽤代码去模拟跑(⽆关紧要的接⼝)。

  • level 2

⼀般情况下,核⼼请求都会有携带很多基于内部算法⽣成的参数(可能在请求头、请求体、URL中)。对于这种情况,就需要:反编译 apk ⽂件,获取Java代码,然后分析Java代码,从⽽获取算法的⽣成规则。然后再⽤代码去模拟。反编译apk⽂件的⼯具:jeb、jadx、gda + 看懂Java代码(加壳)。

  • level3

⽤反编译获取java代码后,会发现⼀些函数的参数和返回值等不知道是什么、不知道这个算法是否正确。对于这种情况,就需要⽤:frida框架,Hook特定的函数,这样就可以获取执⾏某个函数时的参数、结果、调⽤栈等。

  • level 4

⽤ 反编译⼯具 + Hook 框架,可以将 apk 中Java层⾯的所有的算法都可以逆向出来。但哪些安卓开发者不会将所有算法都⽤java来实现,⽽是将核⼼的算法都放在so⽂件中(基于JNI⽤C语⾔实现)。这种情况就需⽤:ida来反编译so⽂件,获取C语⾔的代码实现(分析并获取算法结果)。

上述涉及的相关⼯具:
抓包软件:charles
反编译apk⼯具:jeb、jadx、gda
Hook框架:frida(需要依赖adb)
反编译so⼯具:ida

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pandapapa_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值