警武杯(手机取证复现)
题目比较综合,考查取证的基本思路
手机取证
手机(一)
1、题型:填空题 分值:1.0
题目:分析嫌疑人在该手机登录的小米账号ID为?(答案格式:以实际为准,如1234567890)
用户所填答案:未作答
题目问的是手机登录的小米账号
通过这里可以直接确定是3134129162
2、题型:填空题 分值:1.0
题目:嫌疑人设定了一个每周六循环的闹钟,该闹钟的备注为?(答案格式:以实际为准,如打精武杯)
用户所填答案:未作答
这个题目问的是闹钟,我们先直接找闹钟相关的
可以看到,这个是每周六都固定的,所以是给老妈汇款
3、题型:填空题 分值:1.0
题目:分析嫌疑人使用的VPN软件,配置的节点服务器地址是什么?(答案格式:不含端口,如192.168.1.1)
用户所填答案:未作答
这里看到是两个代理软件,我们需要去翻一下配置文件,找一下config.yaml
先讲一下这个搜索栏吧
这里的搜索介绍的说是在文件系统里搜索,实际上是在当前的目录下进行搜索
我们搜索后点开是这样的,这个时候是不能回退的,我们点击的回退是回退到上一级目录
想要看刚刚的,需要退回去重新搜索一下clash
这里我们找到config.yaml文件,打开后发现是乱码
这里我们导出后用vscode打开就行了
这里可以看出是版本过旧,所以说并不是这个代理
之后我们用同样的方法看一下v2rayNG这个代理的config配置,这样看就行
也可以导出来用Imhex去看
这里可以看出来是107.175.0.221(暂时不知道为啥这样导出看最后的221的时候为啥是乱码)
4、题型:填空题 分值:1.0
题目:接上题,上述VPN软件在该手机的桌面位置是什么?请写出第几页第几行第几列。(答案格式:页-行-列,如1-2-3)
用户所填答案:未作答
这个题目大佬的思路是翻阅图片,这里没有残存的照片,我们需要找管理手机位置的系统的数据,名称一般是launcher
还是相同的搜索方式就能打开这个数据库的软件
这里的screen是页的意思,cellx是列,celly是行。然后列和行都是从0开始计数的,所以答案是需要+1
因此这个题目的答案是3-1-3
5、题型:填空题 分值:1.0
题目:嫌疑人最近一次登录Google账号的日期是什么时候?(答案格式:2026-09-09)
用户所填答案:未作答
这个题目让我们查看谷歌的登录,可以看到有两个浏览器
其中夸克浏览器里都是无关的,我们看到默认浏览器有对应的信息
我们也可以跳转过去看一下具体的文件确认一下
图中date是转化2026-07-07 22:46:09.520(UTC+8)
所以答案是2026-07-07
6、题型:填空题 分值:1.0
题目:在嫌疑人手机相册中发现一张图片文件名异常,经分析该图片进行了数据隐写,请回答该异常图片的文件名称是什么?(答案格式:XXX.png)
用户所填答案:未作答
说实话,这个连接性并不是很好,这里我是在文件系统搜索image
这里可以翻到一个压缩包,之后打开这个压缩包,解压后找到密码.png这个文件
之后是猜测隐写,我们打开我们stegsolve工具
这里可以看到我们的二维码
答案是密码.png
7、题型:填空题 分值:1.0
题目:接上题,该异常图片中隐写的内容为?(答案格式:feiying666)
用户所填答案:未作答
接上题,这里解码出来可以看到是
答案是qazokm123
8、题型:填空题 分值:1.0
题目:在该手机屏幕第3页第1列第4行的应用是一个伪装的密拍程序,请问机主使用该软件拍了几张图片?(答案格式:9)
用户所填答案:未作答
这里的对应的是3 0 3,这里是计算机,这里可以调一下过滤的规则,这样的话更加清晰一点
这里锁定是计算之后,可以看到有一行简单的介绍信息,我们搜索报名
#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.androidx.calculator/.Calculator;end可以看到有两个,上面的那个文件夹用于从程序逆向获取下面解密的db
这里我想要打开db文件的时候,发现是直接进行了加密的
之后我们用jadx对程序进行逆向
这里看到是很多函数都调用这个
全局搜索之后,找到Key有关的部分,这里可以看到是通过Key()这个函数逻辑进行加密的
定位Keys这个函数查看一下逻辑,这里有加密,这一块解密以后有空再展开,我们直接用答案c258ba
class Keys {
private static final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();
private static byte one = 116;
private static byte[] ones = {-1, 0, 3, 5, 1, -5};
static byte[] onesss = {49, 48, 51, 46, 50, 55, 46, 49, 48, 56, 46, 55, 56, 58, 49, 50, 53, 54, 51};
Keys() {
}
/* JADX INFO: Access modifiers changed from: package-private */
public static String keyDb() {
int length = ones.length;
byte[] bArr = new byte[length + 3];
for (int i = 0; i < length; i++) {
bArr[i] = (byte) (one + ones[i]);
}
bArr[length] = 46;
bArr[length + 1] = 100;
bArr[length + 2] = 98;
return new String(bArr);
}
/* JADX INFO: Access modifiers changed from: package-private */
public static String keyBase() {
try {
return bytes2Hex(MessageDigest.getInstance("md5").digest(ones)).substring(0, 6);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "defkey";
}
}
public static String bytes2Hex(byte[] bArr) {
int length;
if (bArr == null || (length = bArr.length) <= 0) {
return null;
}
char[] cArr = new char[length << 1];
int i = 0;
for (int i2 = 0; i2 < length; i2++) {
int i3 = i + 1;
char[] cArr2 = HEX_DIGITS;
cArr[i] = cArr2[(bArr[i2] >>> 4) & 15];
i = i3 + 1;
cArr[i3] = cArr2[bArr[i2] & 15];
}
return new String(cArr);
}
}这里解密出来看到有一条数据
所以这个题目的答案是1
9、题型:填空题 分值:1.0
题目:分析使用该密拍软件拍摄的图片,其中显示器的型号为?(答案格式:以实际为准,如TUOJIE)
用户所填答案:未作答
我们点击浏览数据,选中data查看图片,就能看到这个图片对应的型号
这里是C34H890WGC
10、题型:填空题 分值:1.0
题目:机主多次通过购票软件查询出行行程,在北京时间2026年6月24日20:21:33查询的目的城市为?(答案格式:南京)
用户所填答案:未作答
这个我们通过分析中的app的分析,找到订票软件的app
之后查看这个软件的存储订票信息的数据库
这里有个时间戳转化的技巧,通过这个时间戳转化,我们可以看到这个时间段
所以说这个题目的答案是百色
11、题型:填空题 分值:1.0
题目:请找到机主在2026-09-20 13:41:20打开的表格文件,该文件的SM3哈希值后四位是什么?(答案格式:英文大写,如12AB)
用户所填答案:未作答
昨天录了1-10题,但是不知道为什么抖音没有过审,待会发网盘吧,我们今天把手机的剩余部分弄完
这里表格的话联想到wps,正好有一个文件,这个正好是我们需要的
搜索一下这个文件进行,然后我们进行文本搜索这个相关的
我们把这里的大体都点了一下,发现有一次是故障的点击
导出csv之后可以看到这个文件就是我们要找的那个表格文件
之后我们需要计算一下sm3哈希值的后四位,这个是题目要求我们计算的
再次之前我们需要先找一下文件,这里的文本搜索是可以给我搜出来的
之后我们用CyberChef这个工具,这个工具里面内置的算法很全
经过很长一段时间,我们对这个工具做了修正
这里可以看到答案是37ea
12、题型:填空题 分值:1.0
题目:请分析嫌疑人在2026-09-20 17:39:19时播放的抖音链接为?(答案格式:以实际为准,如https://www.baidu.com/abc/123asad)
用户所填答案:未作答
这个题目我们直接打开火眼看就行,问的是2026-09-20 17:39:19
这里可以直接确定答案是https://www.douyin.com/video/7641161472526150282
13、题型:填空题 分值:1.0
题目:请分析嫌疑人在抖音中共手动提现多少元至银行卡?(答案格式:100)
用户所填答案:未作答
这个很考察背景的基础知识,抖音的数据一般是没有数据库的,我们keva这个键库里面去找,具体找的是下面这个
之后的话导出来这个sgv文件打开看就行,这个一般是纯json格式的
之后我们把json文件拖入JSON-Crack这个工具中去看,这里可以看到1000元的提现
这里还有3元,假如说再去搜索的话
所以这个题目的答案是1003元
14、题型:填空题 分值:1.0
题目:请分析机主抖音头像从哪个应用下载的可能性最大,该应用的包名是?(答案格式:以实际为准)
用户所填答案:未作答
这个题目,我们之前看到过头像,在夸克中搜索过
这里可以找到这个图片,这个下载缓存里的路径是之前,对当前的这个镜像没什么用
这里翻图片,可以翻到下面这个图片,和上面的头像是想照应的
另外这个下载记录也是可以通过搜索夸克的db数据库可以搜索出来的
所以答案是com.quark.browser
15、题型:填空题 分值:1.0
题目:机主相册中有大量的豪车、别墅信息用来“杀猪盘”,请分析这些照片是使用什么应用进行下载的,写出该应用的包名。(答案格式:以实际为准)
用户所填答案:未作答
这个题目的话我们之前做隐写的时候也是有一大堆的,这里是有别墅啥的
这个是无印软件包
可以看到答案是uni.UNI3DFAFCD
16、题型:填空题 分值:1.0
题目:接上题,该应用使用的下载链接来自于哪个应用,请写出链接来源应用的包名。(答案格式:以实际为准)
用户所填答案:未作答
这个题目的话是去看这个文件的数据库,这里可以看到都是从抖音下载的
所以答案是douyin
这里我们关于手机一的讲解是结束了,先缓一会,谢谢大家
手机(二)
17、题型:填空题 分值:1.0
题目:该手机的备份密码是多少?(四位数字,答案格式:1234)
用户所填答案:未作答
这个题目先导出来plist文件
这个题目告诉我们的密码是4位数字,我们调好直接爆破就行
这里可以看出来是1111
18、题型:填空题 分值:1.0
题目:该手机的备份时间是什么时候?(答案格式:2026-09-09 09:09:09)
用户所填答案:未作答
上面我们拿到了密码,后面的我们进行解析即可,这里我们继续暂停等待一会
解析出来,之后我们从plist这个文件就可以找到手机备份的日期
19、题型:填空题 分值:1.0
题目:该手机的序列号是什么?(答案格式:以实际为准,英文大写)
用户所填答案:未作答
这个问的序列号,我们搜索number也可以在plist里面找到
20、题型:填空题 分值:1.0
题目:该手机的蓝牙MAC地址是多少?(答案格式:英文大写,如A0:A1:4E:83:16:B0)
用户所填答案:未作答
这个蓝牙对应的bluetooth这个英文单词,我们在搜索一下,这里可以直接找到对应的蓝牙地址
21、题型:填空题 分值:1.0
题目:分析该手机日志文件,该手机电池的激活时间(UTC+8)是什么时候?(答案格式:2022-01-23 15:02:53)
用户所填答案:未作答
这个题目的话我们一开始找分析,很乱,而且时间跨度很短
这个题目很短,我们可以去翻系统的log日志去找线索
大佬是翻到了下面这个记录了时间,具体怎么定位到的不清楚,可能是一个一个翻的吧
22、题型:填空题 分值:1.0
题目:分析该手机的充电记录,该手机最近一次被充至 100% 电量的时间是什么?请回答时间戳。(答案格式:以数据库中记录的原始时间戳为准)
用户所填答案:未作答
这里通过大量翻阅数据库可以确定是这个,看的眼花
答案1783544086.8534
23、题型:填空题 分值:1.0
题目:嫌疑人安装蝙蝠.app的时间(UTC+8)是什么?(答案格式:以首次安装请求时间为准,如2026-09-09 09:09:09)
用户所填答案:未作答
依旧是先定位
然后再去翻日志,这里值得注意的是,我们用火眼里的搜索是搜不到的,这里我们需要导出来之后再搜索
答案是2026 12 18:07:22
这里需要+8(时区)
24、题型:填空题 分值:1.0
题目:嫌疑人手机在2026-07-09 第一次解锁屏幕是由哪个应用/服务触发的?请写出应用包名。(答案格式:www.tuojieinfo.com)
用户所填答案:未作答
这个题目我们还是从22题的那个电池的文件里面去找
这里的话是先搜索screen锁定一下与屏幕解锁有关的候选,之后再去研究一下approle那个是啥成分
最后推导出来approle的序号6对应的解锁
所以这个题的答案是com.apple.camera
至此,手机取证的复现已经结束了