重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
两种抓包模式
创新互联-专业网站定制、快速模板网站建设、高性价比左权网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式左权网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖左权地区。费用合理售后完善,10多年实体公司更值得信赖。
Spawn 模式,直接抓包
python r0capture.py -U -f 包名
Attach 模式,将抓包内容保存成pcap格式文件
python r0capture.py -U 包名 -p 文件名.pcap
建议使用Attach模式,从感兴趣的地方开始抓包,并且保存成pcap文件,供后续使用Wireshark进行分析。
导入脚本项目
导入到Pycharm项目中
请点击输入图片描述
安装项目所需的包
pip install win_inet_pton
pip install hexdump
pip install loguru
请点击输入图片描述
在开启的命令行中两种方式的任意一种进行抓包,建议使用Attach模式,从感兴趣的地方开始抓包,并且保存成pcap文件。
开始抓包
获取应用包名
1.adb shell am monitor
2.启动需要获取包名的应用
3.窗口就会打印出来当前应用的包名
请点击输入图片描述
给应用添加读取存储空间权限
启动frida-server
adb sehll
su
cd /data/local/tmp/
./frida-server
ps | grep frida
请点击输入图片描述
Spawn 模式,直接抓包
请点击输入图片描述
Attach 模式,将抓包内容保存成pcap格式文件
先打开需要抓包的应用,然后在命令行输入
python r0capture.py -U com.dianping.v1 -p 123.pcap
请点击输入图片描述
Ctrl+C 结束,如果数据量很大的话,需要等待一会才能彻底关闭
分析数据
本教程只用于学习探讨,不允许任何人使用技术进行违法操作,阅读教程即表示同意!
frida是一个hook原生 安卓开发app 的一个框架,也不止安卓,像ios和win等,都支持,但是好像看到用的不太多。
注意,是原生,就是用Java+安卓开发的app。
还有些是H5之类的,这些是hook不成的,当然,市面上最起码80%的app都是原生开发,不必担心。
再说,H5开发的不是更容易破解?懂的都懂!
hook英文是钩子的意思,可以理解为一堆水管流水,我在某个水管中间挖一个洞,操作一波再继续流。
当然,我也可以只看看某个水管有没有水。
上述这个过程就叫做修改和验证!
可以使用编写的简单Python环境管理器快速创建一个虚拟环境,可视化就是好,再也不用记该死的命令了!
相关链接:
这里已经创建完毕,虚拟环境名为 frida_env
当然,这是一个差不多的参考价值,不一定准,具体情况具体分析。
在安装frida时,尽量科学上网,因为frida好像会下载一些东西,不科学上网非常慢...可能会卡住很长时间!
根据我的环境,这是我的依赖包,在虚拟环境中pip安装即可!
安装完成之后,分别执行 frida --version 和导入 frida ,如果没有报错则表示安装成功!
frida-server下载链接:
综上所述,我pip的frida版本为14.2.18,手机是arm64,所以要下载这个!
确实存在,ok。
这样就已经运行起来了,他是不会有提示的,是直接wait在这的!
注意啊,这个cmd窗口是不能关的,一直挂这就行!
激活上述创建好的虚拟环境,执行以下命令。
如果出现以下信息,表示正确!这是手机的一些信息,表示能获取到。
到这,pc端的frida和手机端的frida-server就建立成功了,主要流程就是
如果frida版本=12,好像是要进行端口转发的
pc上配置frida没什么好说的了,创建一个虚拟环境,安装frida就好了。
手机上的话,第一次需要把frida-server拷贝到 /data/local/tmp 下和 chmod
然后运行这个frida-server,命令总结一下大概为:
下次使用直接复制就可以了!
因为frida使用的是js语言,并且需要安装一个代码自动提示插件,所以WebStorm最合适,官网下载点击下一步下一步即可。
这里不做叙述。
嗯,还需要安装node,自己折腾吧!
创建一个空项目,选择合适的目录。
打开项目,点击下面的Terminal,输入 npm i @types/frida-gum 安装frida代码自动提示。
这不,关于frida的代码就能自动提示了!
题外话
通过Charles+postern进行抓包,发现登录用的接口为
可以发现带的数据是一个 {"Encrypt":"xxx"} ,擦,这是什么玩意啊???
这个apk是没有加固的,通过反编译搜索一下 user/login 试试!!!
找到了两处 user/login ,其中一个是login函数!
那么,现在问题来了,到底 user/login 走的是不是login?如何验证?
此时点击手机上面的登录按钮,然后看pc上控制台的输出!
确实输出了,经过验证,确实是执行了这个login。
然后你再进行一遍hook和分析即可。
下节课就来分析如何自动登录这个app!
想要玩转hook,大概分为以下几步
人生没有白走的路,加油!
在越狱 iOS 上打开 Cydia 添加源: 或安全论坛源 ,如果 iOS 设备是 64 位的安装 Frida,如果是 32 位的安装 Frida for 32-bit devices。
frida-ls-devices 用于查看当前的设备列表,一般在多个设备连接时会用到,它能显示当前所有连接设备的 Id,这个 Id 实际上就是设备的 UDID,获取的信息如下:
frida-ps 用于查看设备上当前所有运行的进程,我们来查看它的帮助信息:
下面这几个参数是比较重要,使用最多的:
--version 显示版本号。
-D 指定需要连接的设备 UDID,在多个设备连接时才会用到,如果只有一个设备不必用它。
-U 连接 USB 设备。
-a 只显示正在运行的应用。
-i 显示所有已安装的应用。
接下来我们看看实际操作 frida-ps 几个用法:
还可以使用 grep 进行过滤,比如只需要查看 Cydia。
frida-kill 用于结束进程,需要指定应用名称或 PID,比如结束 App Store 进程
如果 App Store 进程的 PID 是 1161
frida-trace 用于跟踪函数或者 Objective-C 方法的调用,frida-trace -h 能够查看它的帮助,最重要的有下面几个参数:
frida-trace跟踪,命令如下:
iOS官方封装了自己统一的Crypto库:
CommonCryptor.h / CommonDigest.h / CommonHMAC.h ,
感谢大佬
感谢大佬
最近了解到frida 砸壳,于是安装pyhton,安装pip,安装frida,一系列操作后,发现使用frida-ps 的时候,找不到该命令。
如果出现以下情况,则可以尝试以下2个方法:
1.确保安装了frida-tools。 pip3 install frida-tools
2.环境变量。
sudo vim ~/.bash_profile
添加:
export PATH=/usr/local/bin:$PATH
保存,source ~/.bash_profile使配置修改生效。