更新日志
20251101:更新到动调抓包20251102:
资源解包
直接使用 MT 解包就能看到几乎所有资源文件,没有任何难度
代码逆向
使用 Jadx 反编译后发现,只有少得可怜的几行代码

经过研究,Vedal 用的应该是 React Native 开发的 app,其主要代码逻辑是被编译于 ./assets/index.android.bundle 文件的 JavaScript
以前没接触过这方面的技术栈,走一步看一步
打开该文件,版本号是 0x60 即 96,是较新的版本,原始 js 应该已经被编译和一些混淆处理了

可以使用 bongtrop/hbctool 工具对 index.android.bundle 进行解析,但是该工具已经不支持 96 版本,找到了支持 96 版本的工具 izadgot/hbctool 可以解析出字节码,另外一个工具 P1sec/hermes-dec 可以一定程度上反编译为 js
看一下反编译后的 JavaScript

呃呃,虽然可读性依然几乎不可读,但是至少聊胜于无吧(?
这条路估计走不通了,但是可以为后面动态调试做点准备
动调抓包
龟龟没做 x86 适配,可恶,模拟器用不了了(除非 ARM Windows + ARM MuMu)
HttpCanary 无效,抓不到
手边的真机没太搞明白 root,使用 MitmProxy抓包只能抓到一部分的 https,Swarm Sync 恰好抓不到:

不过至少知道了可能是国内的 IoT 平台——涂鸦智能
好在最后找到了 r0ysue 师傅超强的通杀脚本 r0ysue/r0capture,需要配置低版本 frida 的环境,如 15.2.2,然后执行
1 | python .\r0capture.py -U "Swarm Sync" -p test.pcap |
抓包示例:

非常难懂,感觉还是会有很大难度
具体明天到货再研究研究
不过明天好像有 N1CTF 来着(?
局域网抓包
连接电脑热点,发现熔岩灯设备

抓包

如图,正常情况下,有如下几种通信:
- 每 秒,LavaLamp 向局域网
255.255.255.255广播信息 - 每 秒,LavaLamp 向远程服务器
8.***.***.247TLS 通信一次(推测为 涂鸦智能 IOT 平台)
扫一下 LavaLamp,有且只有一个 TCP 端口开放

搜索一下,发现一个工具 jasonacox/tinytuya
__END__