2025盘古石杯Apk赛题解析

远控Apk

通过聊天记录以及导出后模拟器安装测试能确定远控的Apk为“银联会议“

 

 

 

 

直接将APK拖入Jadx可以得出Apk的包名、代码入口(主活动)、签名信息

 

 

 

 

Apk本地目录

Apk的运行信息都会存放在/data/user/0//{packageName},我们可以通过对该目录下的文件进行查验从而找到我们需要的信息。

逆向分析

使用blutter进行解包分析

地址:GitHub - worawit/blutter: Flutter Mobile Application Reverse Engineering Tool

解包目录如下

 

asm:包含符号的libapp程序集

blutter_frida.js:针对目标应用程序的frida脚本模板

objs.txt:从Object Pool中转储的对象

pp.txt:Object Pool中的全部Dart对象

核心逻辑代码目录如下

 

解题

在flutter中Duration 是一个用于表示时间间隔的类,常用于处理延迟、计时器、动画、日期,拿到对象Obj!Duration@453311 直接进入Objs.txt进行搜索查找 最后使用python解释器解析,可得知持续时间为1妙

 

由flutter官网知道,如果要想在屏幕上显示字符,需要创建一个Widget对象,并在Widget对象之中填充一个Text对象,可以利用这一点搜索Objs.txt,由分析可得屏幕显示字符为”pgs比武专用”

 

 

 

 

 

 

多少分贝开始录音的问题同上,可以看见其中有“声音阈值”的字样”70分贝“间隔时间同上连续4秒没有检测到声音就停止录音。

数据库直接使用取证分析软件分析完成之后进入/data/user/0/com.example.liekai/databases就可以查看到 recording.db,在database_helper.dart也有相关的,直接搜索.db即可查询到。

 

存储路径直接在video_server.dart中搜索Directory可以搜索到这个方法0x369ab8: r0 = getVideoDirectory() 通过查看调用栈定位到path_utils/getVideoDirectory 再通过path_utils.dart中的定位到getExternalStorageDirectory()这个方法,通过官网查询可得知是一个弃用的 API, 用于返回 /storage/emulated/0/Android/data/<PackageName>/files 路径.   再通过如上分析通过手机文件系统可得全路径为“/storage/emulated/0/Android/data/com.example.liekai/files/video”

 

    路径和录音文件的加密方法我们通过直接再video_service.dart中搜索encry可以得到如下方法以及调用栈

 

通过调用栈继续跟进encryption_utils.dart文件中的encryptPath方法,通过分析可以得知路径的加密方法为Salsa20而录音文件所采用的加密算法为AES

  

根据entrytion_utils.dart中EncryptionUtils类定义的静态变量可以看出需要查询的值为_videoKey

使用Ida Pro对libapp.so文件进行分析,并使用blutter生成的addNames.py文件去除符号,通过搜索可以看到如下结果,可以看出最后一位是154,需要注意的是到这里还需要对这个值进行处理,按位往右移一位,相当于除2也就是154/2 = 77 ,将77转换为16进制则为0x4D(因为原始iv值由int32写入,Dart中uint8[]只取int32的低字节,所以想要取得原有的值需要按位右移一位)

 

根据上面的思路查询出解密录音的key和iv值分别为

key:2b7e151628aed2a6abf7158809cf4f3c2a7d141527add1a5aaf6148708ce4e3b

iv:000102030405060708090a0b0c0d0e0f

 

 

根据encryptFileVideo这个方法可得知对录音文件进行AES加密之后使用了base64编码,所以再进行解密操作的时候要先对文件进行base64解码。

 

将所有的录音都导出后进行解密,使用这个网站https://gchq.github.io/CyberChef 并且首先先将文件进行base64解码,然后进行AES解密,最后进行md5值计算。

经过测试可知 "1753597920412"这个文件的哈希值为”3b4df009f75f11d27b0f6257b06c55ae“

 

 


2025盘古石杯Apk赛题解析
http://1.95.139.200:8090/archives/2025pgs
发布于
2025年05月26日
许可协议