登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
关于ADB-数据包抓取-反编译工具(手机刷机使用) ...
关于ADB-数据包抓取-反编译工具(手机刷机使用)
[ 复制链接 ]
县挫伪
2025-6-2 23:18:02
1 逆向基本流程
1 获取目标app(官网,豌豆荚),尽量不要去华为应用市场,小米应用市场下载--多渠道打包,安装到手机上
2 使用抓包工具抓包分析(charles,fiddler。。。)
3 使用反编译工具(JADX,JD-GUI。。),把apk反编译成java代码,分析java代码,定位代码位置
4 使用动态分析工具,如:frida,xposed。。通过hook,动态跟踪,确定代码位置,理解应用程序的执行流程
5 使用python还原代码,模拟发送 请求,完成我们的操作
目标:抓取数据,自动注册,刷评论。。。,模拟发送请求
2 ADB配置和使用
2.1 ADB是什么?
「adb」即 Android Debug Bridge ,亦称安卓调试桥,是谷歌为安卓开发者提供的开发工具之一,可以让你的电脑以指令窗口的方式控制手机。
可以在安卓开发者网页中的 SDK 平台工具页面下直接下载对应系统的 adb 配置文件,大小只有几十MB
1 下载地址(下载对应平台的adb)最新版:
https://developer.android.com/studio/releases/platform-tools?hl=zh-cn
2 各平台历史版本下载地址:
https://androidmtk.com/download-android-sdk-platform-tools
3 对应平台压缩包下载后,解压即可(配置好环境变量:在任意位置可以执行adb命令)
内含:adb工具和fastboot工具
2.3 ADB 安装和配置
2.3.1 win平台安装
1 下载压缩包后,解压 到 C:\soft\platform-tools
2 把该路径加入到环境变量:我的电脑---》属性---》高级系统设置---》环境变量
3 在cmd中验证(以管理员身份打开)
adb version
2.3.2 mac/linux平台安装配置
1 下载好的 platform-tools_r30.0.5-mac.zip,解压到某个路径: /User/你的名字/soft/platform-tools
2 把这个路径加入到环境变量
-打开Terminal
-敲 cd 回车 ,进入到你的家路径 # pwd看一下,打印出 /User/你的名字
-敲 vi .zprofile # 使用vi命令打开文件,写入
-敲 a 进入到 追加模式
-export PATH=${PATH}:/Users/你的名字/soft/platform-tools # 粘贴到最后
-敲 esc 敲 :wq 退出
3 让环境变量生效
source .zprofile
4 打开 Terminal,测试
adb version
2.3.3 环境变量介绍
无论在mac还是win上,都需要加环境变量
环境变量是什么?
环境变量是操作系统中用于存储系统级别配置信息的一种机制,可以为应用程序提供统一的配置和运行环境
环境变量有什么作用?
-解压的压缩包中有 adb.exe 可执行文件,想在任意路径下都能找到并且执行这个可执行文件
-打开cmd,默认路径是:C:\Users\Administrator
-这个路径下没有 adb.exe
-在cmd窗口中 敲 adb (adb.exe 后缀可以不写),正常来讲是没有任何返回,会报错,说命令找不到
-但是敲 有反应,原因就是:adb.exe 所在的路径,已经被我们加入到环境变量了,它就能找到了
-如果 一个可执行文件的路径没有被加入到环境变量,想执行这个可执行文件,必须进入到这个可执行文件所在路径才能执行
用户环境变量和系统环境变量:
-操作系统分用户,可以多用户登录
-如果把环境变量配置在当前用户下:只针对于当前用户生效
-如果把它配置在系统环境变量下:所有用户都会生效
2.4 ADB 操作手机
2.4.1 开启USB调试
# 1 点击Settings(设置) -> About phone(关于手机) ->版本号(最底部)--->点击7次(开启usb调试)
# 2 点击Settings(设置) -> 系统---> 高级--->开发者选项--》进入
-开启USB调试
# 3 数据线连接电脑,按照下图提示操作
复制代码
2.5 ADB常用命令
# 开启关闭adb服务
adb start-server 启动ADB
adb kill-server 关闭ADB
adb devices 查看已连接的设备
# 上传和下载文件
adb -s 设备id号 push C:\demo.txt /sdcard
adb -s 设备id号 pull /sdcard/demo.txt C:\
# 安装和卸载app
adb install C:\2345Downloads\xianyu.apk
adb uninstall 包名称
adb shell pm list packages # 查看包列表
adb shell pm list packages -e 关键字 # 查看包列表(搜索)
# 查看处理器(32位/64位)
adb shell -s 设备id号 getprop ro.product.cpu.abi
adb shell getprop ro.product.cpu.abi
'''
armeabi-v7a(32位ARM设备)
arm64-v8a (64位ARM设备)
'''
# 进入系统命令(跟linux命令完全一致),
# 本身adb操作是不需要root的,但是如果不root手机,不能切换到root用户
adb shell # 进入命令行
taimen:/ $ su # 切换为root用户,必须root
taimen:/ # ls
'''
acct data firmware odm sdcard
apex
'''
# 其他
- 查看手机设备:adb devices
- 查看设备型号:adb shell getprop ro.product.model
- 查看电池信息:adb shell dumpsys battery
- 查看设备ID:adb shell settings get secure android_id
- 查看设备IMEI:adb shell dumpsys iphonesubinfo
- 查看Android版本:adb shell getprop ro.build.version.release
- 查看手机网络信息:adb shell ifconfig
- 查看设备日志:adb logcat
- 重启手机设备:adb reboot
- 安装一个apk:adb install /path/demo.apk
- 卸载一个apk:adb uninstall <package>
- 查看系统运行进程:adb shell ps
- 查看系统磁盘情况:adb shell ls /path/
- 手机设备截屏:adb shell screencap -p /sdcard/aa.png
- 手机文件下载到电脑:adb pull /sdcard/aa.png ./
- 电脑文件上传到手机:adb push aa.png /data/local/
- 手机设备录像:adb shell screenrecord /sdcard/ab.mp4
- 手机屏幕分辨率:adb shell wm size
- 手机屏幕密度:adb shell wm density
- 手机屏幕点击:adb shell input tap xvalue yvalue
- 手机屏幕滑动:adb shell input swipe 1000 1500 200 200
- 手机屏幕带时间滑动:adb shell input swipe 1000 1500 0 0 1000
- 手机文本输入:adb shell input text xxxxx
- 手机键盘事件:adb shell input keyevent xx
复制代码
3 刷机及root手机
# 手机连接到电脑上,可以在电脑上输入命令操作手机
# 手机--》买回来---》带了个系统:安卓8,安卓9----》手机没有root
# 接下来,要给手机刷机---》类似于电脑装系统---》谷歌官方支持到 2xl最高能刷到11版本
# 刷完机后---》把手机root-->为后期逆向做好准备、
# 线刷手机+root
https://www.cnblogs.com/liuqingzheng/p/17462127.html
复制代码
3.1 刷机
# 0 谷歌手机 注意:我这里使用的是 谷歌手机 pixel 2xl 型号
# 1 去手机官网下载刷机包(win 装系统,下载装机包一样的)
https://developers.google.cn/android/images?hl=zh-cn#taimen
# 2 根据手机型号,找安装包,下载 taimen-rp1a.201005.004.a1-factory-2f5c4987.zip
# 3 解压,copy到d盘根路径
# 4 以管理员身份打开 cmd窗口,进入到刚刚那个路径下,确保目录下有 flash-all.bat
D:\taimen-rp1a.201005.004.a1-factory-2f5c4987>cd taimen-rp1a.201005.004.a1
# 5 扩展:flash-all.bat:win的刷机命令 flash-all.sh:mac的刷机命令
# 6 执行adb命令,重启手机,进入到fastboot模式
adb reboot bootloader
# 7 敲命令看看手机是否顺利连接到电脑上--》如果没有输出,不能进行下面操作
# 没有输出的原因是 安卓驱动没装好
# 设备管理器中---》更改驱动程序---》装好老师提供的驱动---》? 就没了
fastboot devices // 801KPUU1367574 fastboot
# 8 开始刷机(注意路径,管理员身份运行,线不能掉)之前手机上所有东西都没了
flash-all.bat // 开始刷机了,等待完成
# 9 刷机结束---》会自动重启---》系统是安卓11版本的最新系统--》界面根之前的可能也不一样了
fastboot reboot 或者按开机键
# 10 开机,配置网络,语言--》进入到手机界面
#11 打开usb调试---》之前学过了
### 不要拿着其他型号手机--》刷这个系统,是刷不进去的
复制代码
3.2 root
# 获取到手机root权限--》以后手机完全由我们自己掌控--》想进哪个目录进哪个目录
# 1 下载Magisk给手机root(已经下好了)
地址: https://github.com/topjohnwu/Magisk/releases
# 2 下载 Magisk-v26.1.apk
# 3 把Magisk-v26.1.apk安装在手机上
adb install -r /Users/lqz/soft/Magisk-v26.1.apk
# 显示安装成功
Performing Streamed Install
Success
# 此时打开Magisk,看到超级用户栏是无法点选的,因为没有root
# 4 解压压缩包,刚刚装系统的压缩包解压后有image-taimen-rp1a.201005.004.a1.zip,把它解压
'''
bootloader-taimen-tmz30m.img
flash-all.bat
flash-all.sh
flash-base.sh
image-taimen-rp1a.201005.004.a1.zip
radio-taimen-g8998-00034-2006052136.img
'''
# 5 文件如下
'''
android-info.txt
boot.img # 引导镜像
dtbo.img
system_other.img
system.img
vbmeta.img
vendor.img
'''
# 6 把引导镜像[boot.img],使用Magisk修补[一定要注意文件路径]
adb push ./boot.img /sdcard/Download
# 7 在手机上打开Magisk,选择安装--》选择修补一个文件---》选择上传的 boot.img ---》点击开始---》修补完成后变成
adb pull /sdcard/Download/magisk_patched.img ./
# 从手机拖到电脑上了
# 8 手机进入fastboot模式
adb reboot bootloader
fastboot devices
# 9 执行 (注意路径)
fastboot flash boot ./magisk_patched.img
# 10 重启手机,root完成
fastboot reboot
# 11 开启手机,打开Magisk,运行一下,重启后--发现root成功
复制代码
3.3 补充
# 1 root 方案其实还有别的 不建议你做
https://www.cnblogs.com/liuqingzheng/p/17462146.html
# 2 我们可以不刷机,直接root
-之前root步骤--》刷了机--》使用面具修补了 boot.img-->又刷入到手机中完成了root
-之前刷机不做---》只要找到跟手机目前系统一样的刷机包--》修补boot.img-->刷入手机--》也可以root
-找到手机型号,下载刷机包
# 买回来的手机
如果已经root了,不用做了,也不用刷机了,也不用root了
# 自己研究刷机--》那就去刷一下
# 跟卖家讲--》让它给你root好---》直接用--》不需要刷机root了
# 4xl 欧版,美版---》只需要解了oem锁,无论是那个版都可以
复制代码
4 数据包抓取
4.1 抓包工具选择
# Wireshark:Wireshark 是一个开源的网络抓包工具,可以在多个平台上运行,支持多种协议的抓取和分析。
# Fiddler:Fiddler 是一个跨平台的抓包工具,可以用于捕获和分析 HTTP 和 HTTPS 流量。它提供了强大的调试和排查功能。
# Charles Proxy:Charles Proxy 是一款跨平台的代理服务器工具,可以捕获并分析 HTTP 和 HTTPS 流量。它具有图形化界面和丰富的功能,适用于移动设备和桌面应用程序的抓包。
# Tcpdump:Tcpdump 是一个命令行抓包工具,适用于 Linux 和 Unix 系统。它可以捕获和分析网络流量,并提供灵活的过滤和输出选项
复制代码
4.2 charles安装和配置
4.2.1 mac安装配置
# 1 下载软件:Charles_4.5.6_xclient.info.dmg
# 2 双击安装
# 3 打开软件,输入sn码破解
复制代码
4.2.2 win安装配置
# 1 下载软件:charles-proxy-4.5.6-win64.msi
# 2 一路下一步安装
# 3 打开软件,输入sn码破解
复制代码
4.3 使用charles抓取手机http包
# 配置步骤
【电脑】安装并运行抓包工具 charles
【手机】配置手机系统代理
复制代码
4.3.1 配置模拟器抓包
# 1 打开charles,点击:proxy--》proxy Settings---》如下图1
# 2 打开charles,点击:help--》Local ip address-->查看本机地址--》下图2--》
或执行命令查看:
win:ipconfig
mac:ifconfig
# 我的是192.168.1.173
# 3 打开mumu模拟器---》设置--》wlan---》长按---》配置代理
复制代码
4.3.2 配置真机抓包
# 1 打开charles,点击:proxy--》proxy Settings---》如下图1
# 2 打开charles,点击:help--》Local ip address-->查看本机地址--》下图2--》
或执行命令查看:
win:ipconfig
mac:ifconfig
# 我的是192.168.1.173
# 3 打开真机---》设置--》wlan---》长按---》配置代理
复制代码
4.4 使用charles抓取手机https包(手机需要root)
4.4.1 模拟器安装charles证书
手机或模拟器只能抓取http请求的数据包,https无法抓取。
想要抓取,就需要在手机上安装charles的证书。
### 注意:
安卓7 以下设备,安装完证书就可以使用,不用移动证书
安卓7以上设备,安装完证书后,为用户证书,必须把用户证书,移动成系统证书,需要借助于magisk刷move cert模块,需要root权限
复制代码
###### 模拟器安装(模拟器版本低于7,不需要做证书迁移) ######
# 1 打开charles--》help---》SSLProxying---》InstallCharles Root Certificate on a Mobile...
# 2 访问网址 chls.pro/ssl
# 3 手机设置完代理,才能访问
# 4 下载安装证书
# 5 就可以抓取http的包了
#https://mumu.163.com/help/20230517/35048_1088553.html
复制代码
4.4.2 真机安装charles证书
# 1 真机配置好代理后
# 2 浏览器访问:chls.pro/ssl
# 3 下载后,手机打开:安全---》加密与凭据---》安装证书---》安装完成
# 4 手机打开:安全--》加密与凭据---》信任的凭据
-此时可以看到用户证书和系统证书
复制代码
4.4.3 用户证书和系统证书解释
在 Android 系统中,有两种类型的证书:用户证书(User Certificates)和系统证书(System Certificates)。
用户证书(User Certificates):用户证书是由特定用户生成或颁发的数字证书。这些证书通常用于用户身份验证和安全通信。用户证书可以用于加密和解密数据,数字签名以及建立安全连接。用户证书通常由用户自己创建,例如,用于加密电子邮件、VPN连接或身份验证。
系统证书(System Certificates):系统证书是由 Android 系统或设备制造商预装的证书。这些证书通常用于系统级别的安全功能,如应用程序签名验证、SSL/TLS 连接等。系统证书通常用于验证应用程序的真实性和完整性,以确保它们没有被篡改或恶意修改。这些证书由 Android 操作系统或设备制造商管理和维护。
系统证书包括以下几种类型:
代码签名证书:用于验证应用程序的签名,以确保应用程序的真实性和完整性。
安全通信证书:用于建立 SSL/TLS 连接,保护设备和服务器之间的通信安全。
根证书:根证书用于验证其他证书的真实性。Android 系统预装了一组根证书,用于验证 SSL/TLS 通信中的服务器证书。
用户证书和系统证书在安全和身份验证方面扮演不同的角色。用户证书由用户自己管理,用于个人身份验证和加密通信。而系统证书由操作系统或设备制造商管理,用于验证应用程序和保护系统级别的通信安全。
复制代码
4.4.4 把用户证书转成系统证书
# 1 将move cert压缩包传到手机(任意好找的一个目录 `/sdcard/Download/`)
adb push /Users/lqz/soft/movecert-1.9-4.zip /sdcard/Download
# 2 使用面具,刷入
按照下图步骤
# 3 重启手机
# 4 手机打开:安全--》加密与凭据---》信任的凭据
-此时可以看到用户级别证书移动到系统级别了
# 5 此时可以愉快抓https包了
复制代码
5 反编译工具
5.1 常见反编译工具
#1 把apk反编译成java代码
#2 常见的反编译工具:jadx(推荐)、jeb、GDA(用一下)
#3 反编译工具依赖于java环境,所以我们安装jdk
复制代码
5.2 JDK环境安装
# 1 使用jdk8---》jdk 最新 21
-公司里80%以上,java开发,还在用8
复制代码
5.2.1 win平台安装
# 1 下载jdk-8u371-windows-x64.exe
# 2 双击安装,选择安装路径
复制代码
5.2.2 mac平台安装
# 1 下载jdk-8u371-macosx-x64.dmg
# 2 双击安装
复制代码
5.2.3 验证安装成功
java -version
复制代码
5.3 安装jadx
# 1 官网
https://github.com/skylot/jadx/releases
# 2 最新
1.5.0
# 3 如果上面没装jdk,下载第三个
-装了jdk,也可以用第三个,只不过,不用你刚刚装的jdk了
# 4 用最新:1.5.0
# 5 也会用1.4.7版本
复制代码
5.3.1 安装
## 1 安装新版本 解压即用:可以看到,它带了个jre
## 2 1.2.0 版本安装和使用
解压:bin目录下
-jadx-gui.bat # win 运行,双击即可
-jadx-gui # max上双击它,运行
后期某个app会用这个版本
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关于
ADB
数据
包抓取
抓取
相关帖子
每天一个安卓测试开发小知识之 (四) ---常用的adb shell命令第二期 pm命令
《数据资产管理核心技术与应用》读书笔记- 第七章- 数据权限与安全(一)
MySQL 31 误删数据后除了跑路,还能怎么办?
我做了个开源数据应用平台 Lumina:数据人的快乐,终于轮到我了(内含在线 Demo)
美股市场股票数据API对接文档
美股市场股票数据API对接文档
海量数据如何“安家”?一文读懂哈希、范围和一致性哈希三大分片策略
Redis数据持久化方案与集群部署
PHP 轻松处理千万行数据 内存不爆,服务器不卡
关于寻找深度学习Baseline和IDEA的思考
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
每天一个安卓测试开发小知识之 (四) ---常用的adb shell命令第二期 pm命令
0
607
杆树
2025-09-02
业界
《数据资产管理核心技术与应用》读书笔记- 第七章- 数据权限与安全(一)
0
404
阎一禾
2025-09-04
业界
MySQL 31 误删数据后除了跑路,还能怎么办?
0
417
峰埋姚
2025-09-06
业界
我做了个开源数据应用平台 Lumina:数据人的快乐,终于轮到我了(内含在线 Demo)
0
736
荦绅诵
2025-09-06
安全
美股市场股票数据API对接文档
0
776
劳暄美
2025-09-07
安全
美股市场股票数据API对接文档
0
196
颛孙中
2025-09-07
业界
海量数据如何“安家”?一文读懂哈希、范围和一致性哈希三大分片策略
0
297
田雅宁
2025-09-08
安全
Redis数据持久化方案与集群部署
0
53
钱艷芳
2025-09-09
业界
PHP 轻松处理千万行数据 内存不爆,服务器不卡
0
870
周冰心
2025-09-10
安全
关于寻找深度学习Baseline和IDEA的思考
0
123
迭婵椟
2025-09-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
县挫伪
2025-6-2 23:18:02
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多