首页
社区
课程
招聘
App不直接向外网发送请求,而是向本地的一个端口发请求,抓到的包都是127.0.0.1,APP也不能正常加载
发表于: 2023-3-23 13:43 10576

App不直接向外网发送请求,而是向本地的一个端口发请求,抓到的包都是127.0.0.1,APP也不能正常加载

2023-3-23 13:43
10576

安卓直播App,用的是Flutter框架,在Java层找了半天没找到有用的东西,核心通信和加密算法应该都在Native层

 

Burp
用reFlutter重新打包了App,然后用MT管理器签名,终于能用Burp抓到包了,但是url全都是127.0.0.1,App也加载不出页面

 

Burp
adb到安卓机上看了下,40119这个端口确实是在监听着的,应该是App给这个端口发数据,这个端口后面的程序再跟外网通信

 

这种应该怎么破?
想到的办法是,Burp抓到App的包后,重新发送给安卓机,让端口后面的程序能够收到App的包并继续跑下去,但是不知道Burp支不支持这样的功能,具体应该怎么设置?如果支持不了,Fiddler、Charles或者其他的工具能不能支持?

 

而且安卓上显示Local Address是 127.0.0.1:40119, 说明40119端口只监听安卓机自己的包,不会理Burp发来的包,这个又应该怎么解决?有办法强制改监听地址成0.0.0.0吗?

 

估计实际发送到外网的数据也是加密的,所以要看40119端口对应的代码,这个又应该怎么去查?可能写在Java层,也可能写在Native层,各自应该从哪里入手?


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (21)
雪    币: 0
活跃值: (124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个看着像接入了游戏盾之类的产品
2023-3-23 15:10
0
雪    币: 2253
活跃值: (6638)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
3
如果是tcp通信呢?burp能抓到吗
2023-3-23 15:51
0
雪    币: 978
活跃值: (894)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个好像是游戏盾,所有请求先发送到手机再手机本地开启的service 向真实的地址请求
2023-3-23 16:51
0
雪    币: 1615
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
本地监听这个服务好像是只通过tcp连接服务器拿数据的,普通抓包没办法,并且抓到包数据也加密的,如果是想完整学flutter逆向的话,可以看看。如果只是想破解看直播的话,没必要研究native层,flutter逆向起来也麻烦,java层有个函数会处理直播链接,hook那个函数就能把直播链接拿出来,就可以直接在支持流播放的软件里面看了。在处理roomid,room信息的附近,函数名好像是setPlayURL。
2023-3-23 19:31
0
雪    币: 1672
活跃值: (2272)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

我不确定是不是这个人,但是时间上很很接近。如果是,大家不要给这种人一点提示。

2023-3-23 20:39
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7

不太了解游戏盾,查了下很多公司都在做这个

这个是apk的lib目录

大佬们能看出来用的是哪个公司的产品吗?


这种游戏盾有什么逆向的文章吗?

查了下没查到


最后于 2023-3-23 22:28 被pptzzz编辑 ,原因:
2023-3-23 22:22
1
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
fjqisba 如果是tcp通信呢?burp能抓到吗
Burp不能抓tcp流量吧
原始apk用wireshark能抓到包,目前发现有http https tcp websocket
tcp和websocket里面没发现明文,看不懂
没有证书所以解密不了https
http传的都是无关紧要的数据,我想要的房间列表,直播连接什么的都没有
2023-3-23 22:22
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
mb_yqjtfroq 本地监听这个服务好像是只通过tcp连接服务器拿数据的,普通抓包没办法,并且抓到包数据也加密的,如果是想完整学flutter逆向的话,可以看看。如果只是想破解看直播的话,没必要研究native层,flu ...
谢谢,我已经可以获取直播链接了的,但是要用模拟器才行
我想部署在低配的无GUI服务器上,不太可能跑得起模拟器,所以我目前能想到的办法就是完全把通信协议破了
2023-3-23 22:23
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
huluxia 我不确定是不是这个人,但是时间上很很接近。如果是,大家不要给这种人一点提示。
哎呀真不是我,我说话还算客气的吧
2023-3-23 22:24
0
雪    币: 160
活跃值: (164)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
我也在分析这个直播软件,请问最后怎么解决的问题?我尝试用burp的redirect重定向到安卓机器的a端口,再在安卓机子用socat将a端口转发到目标端口,但是好像不起作用。
2023-3-25 17:15
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
wx_Grep 我也在分析这个直播软件,请问最后怎么解决的问题?我尝试用burp的redirect重定向到安卓机器的a端口,再在安卓机子用socat将a端口转发到目标端口,但是好像不起作用。
不好意思,最近比较忙没在研究这个
前几天有个想法在Android跑Python代码或者Java代码发http请求跟40119端口交互,如果你配置都正确,转发过去也没反应的话,可能APP也会检测到这种情况吧
那我就无解了,我也是个菜鸟,看看大佬还有什么办法
2023-3-28 03:03
0
雪    币: 2141
活跃值: (4522)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
肉丝de通杀试过没呢。按理插到网卡上用鲨鱼抓网卡的包不行吗。
2023-3-30 00:16
0
雪    币: 2141
活跃值: (4522)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
pptzzz 谢谢,我已经可以获取直播链接了的,但是要用模拟器才行 我想部署在低配的无GUI服务器上,不太可能跑得起模拟器,所以我目前能想到的办法就是完全把通信协议破了
无界面协议跑起来最低时间成本就是使用类似unidbg框架去load so计算分析。
2023-3-30 00:22
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
小黄鸭爱学习 肉丝de通杀试过没呢。按理插到网卡上用鲨鱼抓网卡的包不行吗。
r0capture抓不到,这个app是flutter框架的,作者说目前还不支持

wireshark是能抓包,但是明文传输的东西不重要,重要的东西要么ssl加密要么app算法加密了
frida hook了native层常见的几个加载证书的方法,没有任何调用,所以搞不出证书来破ssl加密
如果要破app算法加密,要先找到实际发出这个包的代码,然后在顺藤摸瓜找到加密代码,但是发包代码是在40119端口后面的程序里的,我甚至不知道这个程序是在哪里运行起来的,也不知道这个程序跑的是java代码还是原生代码
2023-3-31 15:51
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
小黄鸭爱学习 无界面协议跑起来最低时间成本就是使用类似unidbg框架去load so计算分析。
了解了一下unidbg,是用来调用so里面的某个方法吧
我只找得到APP程序朝40119端口建立websocket并且发送数据的java代码,实际跟外网传输数据的是40119端口后面的程序,完全不知道这个程序的代码在哪
我根据app的加密强度猜一下,这个程序全都跑的原生代码,跟app之间通过websocket交换数据,不需要暴露关键native方法给java层,这种情况unidbg似乎解决不了?
2023-3-31 15:51
0
雪    币: 135
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
网易的游戏盾  我之前遇到了 直接懒得搞
2023-4-1 18:48
0
雪    币: 2141
活跃值: (4522)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
unidbg不是只能运行jni方法,他是可以把整个so跑起来模拟包括里面所谓的加密流程。即使是没有java层的方法联通也没关系。
当然我看你还没找到核心的加密方法和逻辑,这点很关键,不然你没法进行模拟。
总体来说 unidbg可以用来辅助分析算法也可以进行生产模拟使用,可以降低细节还原难度。
2023-4-3 00:04
0
雪    币: 77
活跃值: (224)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
比较好奇你是怎么抓到手机端127.0.0.1的包的? 手机端配置代理,127.0.0.1的流量也不应该要到pc的burp啊。
2023-4-3 17:49
0
雪    币: 197
活跃值: (1726)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
之前做过这类APP的协议。。。
2023-4-3 22:17
0
雪    币: 160
活跃值: (164)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
21
飞猫的世界 比较好奇你是怎么抓到手机端127.0.0.1的包的? 手机端配置代理,127.0.0.1的流量也不应该要到pc的burp啊。
有个reflutter会修改所有的流量转移到burp里面 
2023-4-4 20:02
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
其实这个问题很容易解决:
adb forward tcp:40119 tcp:40119
这样你就可以从burpsuite发包啦
2023-6-3 12:58
0
游客
登录 | 注册 方可回帖
返回
//