免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!
内容参考于:图灵Python学院
工具下载:
链接:https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwd=zy89
提取码:zy89
复制这段内容后打开百度网盘手机App,操作更方便哦
首先一个app为什么可以对它进行逆向呢?为什么要去逆向,对于一些没有加密的请求是可以正常去爬的,但是有些app在它的接口里面有一些参数它会有加密,有这些加密数据的时候就没办法去爬了,不能去爬就不能爬了吗?答案是可以爬的,虽然app是一个apk文件看不到它的源码,但是不排除它的加密代码在前端进行一个展示,就是当手机下载一个apk文件之后,它应该是保存在某个文件夹下面,只需要使用一点工具把文件冲手机里面拿出来,就能获取它的一个源码了,因为一个apk文件里就包含一些代码,一些业务代码(java代码),只要分析这个代码就能知道它参数加密的方式。
apk文件就是一个安卓的文件一个应用,它的后缀是.apk,只要把apk文件放到手机里面去它就能进行安装,根据上面的思路不管它怎么操作,对于一个app它的前端(apk安装之后存放代码的文件)肯定是有一个信息(代码)。
逆向流程
1.拿到app应该的apk
获取apk文件方式:
第一个方式通过手机得到
第二个方式通过下载app的网站中得到,比如豌豆荚、通过百度直接搜索某app下载,下载apk的版本不要下载最新的apk,它有这样一种情况,老版本apk没有加壳或请求没有加密,到了新版本中就进行了加壳或请求加密,但是老版本还是可以正常使用的,想搞一个apk就多尝试几个版本,看看那一个版本比较好搞,那一个好搞就搞那个,然后安卓它会有一个向下兼容就是新版本和老版本的数据是一样的
国际版app下载地址:https://apkpure.com/cn/,如果想搞国际版的app可以从它里面下载,这个链接可能要翻墙
2.使用工具进行查壳,有些app有壳的话就没法看源码了,这时就要脱壳
3.拿到dex文件进行反编译
4.使用Jadx-Gui或其它工具进行反编译,这里就可以看到apk的源代码
5.根据app的抓包情况,拿到加密的关键性参数在Jadx-Gui内进行搜索定位加密代码
6.分析反编译的apk源码进行Hook代码的编写(使用JavaScript语言)
7.启动Frida服务并转发端口监听安卓端
8.运行Hook代码进行更加有效的逆向分析(就是动态调试app)
需要的设备:需要一台电脑(这里使用Windows)、手机(安卓手机)、前期使用模拟器
需要写代码,不会写代码的从文章中抄,抄多了就会了,文章中会介绍代码的作用和意思
真实手机环境
pixel4手机,解锁OEM 刷机安卓10 装面具 root
采购平台:咸鱼或淘宝 价格500左右
解锁OEM 刷机安卓10 装面具 root,这些可以让商家给做好,直接跟商家说它就知道怎么做
下图是通过Jadx-Gui对apk进行反编译
开始环境介绍(抓包环境、模拟器、adb联调等)
模拟器使用雷电模拟器,直接去雷电模拟器官网下载最新的安卓9.0(安卓系统不要很高,系统版本高了有些工具可能就没法用了)就可以了,有些不好的app,比如有病毒的app就可以使用模拟器运行,运行蹦了把模拟器删了重新安装一个就可以,不影响
苹果系统(MAC系统)可以使用 夜神模拟器
adb工具
在Windows开一个cmd窗口怎么才能调试手机设备?比如安装app或卸载app,这就需要adb工具
adb是一个通用命令行工具,它可以做为Android(安卓)和PC端连接的桥梁,adb又称为Android调试桥,可以通过adb在电脑上对Android设备进行全面操作,比如工具的安装和调试应用,操作文件的传输等,具体的使用后面会写
adb下载:https://www.androiddevtools.cn/,这个链接包含了很多安卓开发的工具
adb下载位置如下图红框,它也有写安装方式,或者去百度网盘中找
![]()
下面是设置系统 PATH 路径,首先右击此电脑然后选择属性
![]()
然后选择高级系统设置
![]()
然后选择环境变量
![]()
然后如下图红框找到Path
![]()
然后点击浏览
![]()
然后选择adb下载解压之后的目录,然后就可以在cmd中使用adb了
![]()
在cmd中输入adb按回车出现下图红框的内容就说明配置好了
![]()
投屏工具
下载地址:https://github.com/Genymobile/scrcpy
然后选择下图红框位置
![]()
然后点击下图红框的东西
![]()
下载完解压后直接双击下图红框的exe就可以投屏了
![]()
如下图投屏的雷电模拟器,使用usb连接电脑它就会投屏手机了(模拟器记得关闭否侧它会选择投屏雷电模拟器)
![]()