2025平航杯
一、计算机取证
1.分析起早王的计算机检材,起早王的计算机插入过usb序列号是什么(格式:1)
解题思路:基本信息-USB设备信息-存在USB Device-查看其序列号。
答案:F25550031111202

2.分析起早王的计算机检材,起早王的便签里有几条待干(格式:1)
解题思路:查看微软便签
答案:5

3.分析起早王的计算机检材,起早王的计算机默认浏览器是什么(格式:Google)
解题思路:基本信息-默认浏览器
答案:Microsoft Edge

4.分析起早王的计算机检材,起早王在浏览器里看过什么小说(格式:十日终焉)
解题思路:微软浏览器-搜索历史
答案:道诡异仙

5.分析起早王的计算机检材,起早王计算机最后一次正常关机时间(格式:2020/1/1 01:01:01)
解题思路:基本信息-开关机时间-筛选最后正常关机的即可
答案:2025/04/10 11:15:29

6.分析起早王的计算机检材,起早王开始写日记的时间(格式:2020/1/1)
答案:2025/3/3
解题思路:仿真跑起来之后,桌面上存在sandbox,点进去可以看到diary的路径。

然后把这个笔记软件打开。

搜索一下日记,就可以看到第一次写日记的时间573a)

7.分析起早王的计算机检材,SillyTavern中账户起早王的创建时间是什么时候(格式:2020/1/1 01:01:01)
答案:2025/3/10 18:44:56
解题思路:仿真起来后直接搜索SillyTavern,可以看到wife的文件夹,这是一个服务,点击bat直接启动即可
启动之后访问localhost的8000端口,就出现了SillyTavern。


之后,在服务中查看用户。找到创建时间。

8.分析起早王的计算机检材,SillyTavern中起早王用户下的聊天ai里有几个角色(格式:1)
答案:4
解题思路:直接查看

9.分析起早王的计算机检材,SillyTavern中起早王与ai女友聊天所调用的语言模型(带文件后缀)(格式:xxxxx-xxxxxxx.xxxx)
答案:Tifa-DeepsexV2-7b-Cot-0222-Q8.gguf
解题思路:这个路径下可以看到用户和AI的聊天记录以及调用的API

去C盘下,有一个model文件-找到对应的大模型文件

10.分析起早王的计算机检材,电脑中ai换脸界面的监听端口(格式:80)
答案:7860
解题思路:E盘中找到实时换脸exe,运行可以看到端口
11.分析起早王的计算机检材,电脑中图片文件有几个被换过脸(格式:1)
答案:3
解题思路:同上题,查看output文件夹即可,共三张。

12.分析起早王的计算机检材,最早被换脸的图片所使用的换脸模型是什么(带文件后缀)(格式:xxxxxxxxxxx.xxxx)
答案:inswapper_128_fp16.onnx
解题思路:启动服务就可以看见模型,后缀直接搜就行


13.分析起早王的计算机检材,neo4j中数据存放的数据库的名称是什么(格式:abd.ef)
答案:graph.db
解题思路:同样E盘,找到data(数据),databases(数据库)文件就可以了

14.分析起早王的计算机检材,neo4j数据库中总共存放了多少个节点(格式:1)
答案:17088
解题思路:cmd启动一下neo4j服务,访问本地7474端口,可以找到labels
neo4j.bat console


15.分析起早王的计算机检材,neo4j数据库内白杰的手机号码是什么(格式:12345678901)
答案:13215346813
解题思路:查看user,默认的最大个数是25,我们把它改为17088然后将所有的信息下载下来,查找“白杰”找到手机号


16.分析起早王的计算机检材,分析neo4j数据库内数据,统计在2025年4月7日至13日期间使用非授权设备登录且登录地点超出其注册时登记的两个以上城市的用户数量(格式:1)
答案:44
解题思路:把结构丢给AI,写出payload
MATCH (u:User)-[:HAS_LOGIN]->(l:Login)-[:FROM_IP]->(ip:IP) MATCH (l)-[:USING_DEVICE]->(d:Device) WHERE l.time >= datetime('2025-04-07') AND l.time < datetime('2025-04-14') AND ip.city <> u.reg_city AND NOT (u)-[:TRUSTS]->(d) WITH u, collect(DISTINCT ip.city) AS abnormal_cities, collect(DISTINCT d.device_id) AS unauthorized_devices, count(l) AS abnormal_login_count WHERE size(abnormal_cities) >= 2 // 异常城市 ≥2 个(符合你需求) RETURN u.user_id AS user_id, u.real_name AS real_name, abnormal_cities AS 异常登录城市列表, unauthorized_devices AS 非授权设备列表, abnormal_login_count AS 异常登录次数 ORDER BY abnormal_login_count DESC
```
17.分析起早王的计算机检材,起早王的虚拟货币钱包的助记词的第8个是什么(格式:abandon)
答案:draft
解题思路:日记里可以看到他把助记词放到输入法里面了,但火眼给的没有单词

跳转到源文件

在lex后缀的文件查看十六进制得到助记词,第八个是draft
18.分析起早王的计算机检材,起早王的虚拟货币钱包是什么(格式:0x11111111)
答案:0xd8786a1345cA969C792d9328f8594981066482e9
解题思路:上题的所有助记词
flash treat wide divide type plug garlic draft infant broom desert useful
在edge浏览器中有mask,直接用助记词重置密码,登进之后复制就行了


19.分析起早王的计算机检材,起早王请高手为倩倩发行了虚拟货币,请问倩倩币的最大供应量是多少(格式:100qianqian)
答案:1000000qianqian
解题思路:在mask里面可以看见倩倩的地址,跳转到Etherscan访问该地址,查看代币得到答案。

20.分析起早王的计算机检材,起早王总共购买过多少倩倩币(格式:100qianqian)
答案:521qianqian
解题思路:同样搜索起早王的地址,可以发现一条代币转移

21.分析起早王的计算机检材,起早王购买倩倩币的交易时间是(单位:UTC)(格式:2020/1/1 01:01:01)
答案:2025/3/24 02:08:36
解题思路:同上,直接查看时间

二、手机取证
1.该检材的备份提取时间(UTC)(格式:2020/1/1 01:01:01)
答案:2025/4/15 10:11:18
解题思路:基本信息查看备份时间减去八小时(UTC)

2.分析倩倩的手机检材,手机内Puzzle_Game拼图程序拼图APK中的Flag1是什么(格式:xxxxxxxxx)
答案:Key_1n_the_P1c
解题思路:jadx反编译APK,这个APK整了很多fake线索(包括fakeflag,fakebyte)
key 的生成
`MAGIC_NUMBERS` 每一字节都异或 `6`,得到 16 字节 AES key:
weZl_d0wn_sbwyz_
这个逻辑就在 `generateWhiteBoxKey()` 里。
密文其实不是那四段拼接出来的“hex”**
因为 `CIPHER_PART1` 开头是字符 `P`,不是合法十六进制字符,`hexStringToByteArray()` 会直接抛异常,然后走 `catch` 返回这真实备用密文:
50 cc 04 31 35 06 80 c3 0a 5e c5 19 52 73 6d 0c
这点就在 `hexStringToByteArray()` 里写死了。
然后用这把 key 做 AES 单块解密,再按末尾 `0x02 0x02` 去掉填充,明文就是:
Key_1n_the_P1c
from Crypto.Cipher import AES
MAGIC_NUMBERS = [113, 99, 92, 106, 89, 98, 54, 113, 104, 89, 117, 100, 113, 127, 124, 89]
CIPHER_PART1 = [80, 99, 99, 48, 52, 51, 49]
CIPHER_PART2 = [51, 53, 48, 54, 56, 48, 99, 51]
CIPHER_PART3 = [48, 97, 53, 101, 99, 53, 49, 57]
CIPHER_PART4 = [53, 50, 55, 51, 54, 100, 48, 99]
def generate_key():
# 等价于 Java: keyBytes[i] = (byte) (MAGIC_NUMBERS[i] ^ 6)
return bytes([x ^ 6 for x in MAGIC_NUMBERS])
def assemble_hex_string():
parts = CIPHER_PART1 + CIPHER_PART2 + CIPHER_PART3 + CIPHER_PART4
return ''.join(chr(x) for x in parts)
def hex_string_to_byte_array(s: str) -> bytes:
# 等价于 Java 的 hexStringToByteArray
if len(s) % 2 != 0:
s = '0' + s
data = bytearray()
try:
for i in range(0, len(s), 2):
high = int(s[i], 16)
low = int(s[i + 1], 16)
data.append((high << 4) | low)
return bytes(data)
except Exception:
# Java catch 后返回的备用密文
return bytes([80, 204, 4, 49, 53, 6, 128, 195, 10, 94, 197, 25, 82, 115, 109, 12])
def pkcs7_unpad(data: bytes) -> bytes:
if not data:
return data
pad = data[-1]
if 1 <= pad <= 16 and data.endswith(bytes([pad]) * pad):
return data[:-pad]
return data
def main():
key = generate_key()
hex_str = assemble_hex_string()
cipher_bytes = hex_string_to_byte_array(hex_str)
print("[+] key bytes :", key)
print("[+] key string :", key.decode('utf-8', errors='replace'))
print("[+] fake hex str:", hex_str)
print("[+] cipher hex :", cipher_bytes.hex())
cipher = AES.new(key, AES.MODE_ECB)
plaintext = cipher.decrypt(cipher_bytes)
plaintext_unpadded = pkcs7_unpad(plaintext)
print("[+] plaintext(raw) :", plaintext)
print("[+] plaintext(hex) :", plaintext.hex())
print("[+] plaintext :", plaintext_unpadded.decode('utf-8', errors='replace'))
if __name__ == "__main__":
main()

3.分析手机内Puzzle_Game拼图程序,请问最终拼成功的图片是哪所大学(格式:浙江大学)
答案:浙江中医药大学
解题思路:图寻题都来了,可以把apk解压之后搜索下后缀为图片格式的文件,下载后问AI


4.分析倩倩的手机检材,木马app是怎么被安装的(网址)(格式:http://127.0.0.1:1234/)
答案:http://192.168.180.107:6262/
解题思路:这个木马应该是apk的第一个,在文件里面也能看到他在浏览器下载了这个app虽然名字不一样,但是包名是一样的,所以肯定是在浏览器下载的。


5.分析倩倩的手机检材,检材内的木马app的hash是什么(格式:大写md5)
答案:23A1527D704210B07B50161CFE79D2E8
解题思路:雷电查看

6.分析倩倩的手机检材,检材内的木马app的应用名称是什么(格式:Baidu)
答案:Google Service Framework
解题思路:同上

7.分析倩倩的手机检材,检材内的木马app的使用什么加固(格式:腾讯乐固)
答案:梆梆加固
解题思路:查看雷电源码分析

8.分析倩倩的手机检材,检材内的木马软件所关联到的ip和端口是什么(格式:127.0.0.1:1111)
答案:92.67.33.56:8000
解题思路:这个壳我的雷电可能太卡了,脱不了,放到https://56.al/脱得壳,可以看到配置ip和端口

9.该木马app控制手机摄像头拍了几张照片(格式:1)
答案:3
解题思路:分区一tmp下存在一个log文本文档,记录了三张照片

10.木马APP被使用的摄像头为(格式:Camera)
答案:Front Camera
解题思路:上图

11.分析倩倩的手机检材,木马APK通过调用什么api实现自身持久化(格式:JobStore)
答案:JobScheduler
解题思路:jadx反编译脱壳后的dex文件,找到jobScheduler。

12.分析倩倩的手机检材,根据倩倩的身份证号请问倩倩来自哪里(格式:北京市西城区)
答案:上海市徐汇区
解题思路:在分区一下面root文件夹存在这个jpg,按身份证号前六位百度一下地区。

13.此手机检材的IMEI号是多少(格式:1234567890)
答案:865372026366143
解题思路:全局搜索可以找到两个IMEI,挨个试



三、EXE逆向
1.分析GIFT.exe,该程序的md5是什么(格式:大写md5)
答案:5A20B10792126FFA324B91E506F67223
解题思路:右键计算哈希

2.GIFT.exe的使用的编程语言是什么(格式:C)
答案:Python
解题思路:放到DIE查看
3.解开得到的LOVE2.exe的编译时间(格式:2025/1/1 01:01:01)
答案:2025-04-08 09:59:40
解题思路:逆向GIFT.exe可以找到生日 硬编码在里面的****20010811,建个快照,运行下病毒软件,可以看到这个LOVE2.exe,属性看修改时间。

4.分析GIFT.exe,该病毒所关联到的ip和端口(格式:127.0.0.1:1111)
答案:46.95.185.222:6234
解题思路:ip可以在ida字符串看到,端口可以用工具看到


5.分析GIFT.exe,该病毒修改的壁纸md5(格式:大写md5)
答案:733FC4483C0E7DB1C034BE5246DF5EC0
解题思路:用工具得到该壁纸导出计算md5值


6.分析GIFT.exe,为对哪些后缀的文件进行加密(A.docB.xlsxC.jpgD.pngE.ppt)
答案:.doc .docx .xls .xlsx .ppt .pptx .pdf
解题思路:拖进去挨个试
7.分析GIFT.exe,病毒加密后的文件类型是什么(格式:DOCX文档)
答案:LOVE Encrypted File
解题思路:在虚拟机运行病毒之后查看属性

8.分析GIFT.exe,壁纸似乎被隐形水印加密过了?请找到其中的Flag3(格式:flag3 {xxxxxxxx})
答案:flag3{20241224_Our_First_Meet}
解题思路:使用工具进行盲水印解密(GitHub - ww23/BlindWatermark: Java 盲水印 · GitHub)

9.分析GIFT.exe,病毒加密文件所使用的方法是什么(格式:Base64)
答案:RSA
解题思路:可以了解下勒索病毒的原理,就是对文件进行了加密,它这个旁边的love.jpeg存放了私钥。(记事本或010打开就能找到)

10.分析GIFT.exe,请解密test.love得到flag4(格式:flag4 {xxxxxxxx})
答案:flag4{104864DF-C420-04BB5F51F267}
解题思路:因为上题发现love.jpeg中存在私钥,我们可以用binwalk以及dd命令进行提取,得到key文件,之后再跑脚本解密。

EXP:
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
with open("pem_clean.key", "rb") as kf:
key = RSA.import_key(kf.read())
block_size = key.size_in_bits() // 8
cipher = PKCS1_v1_5.new(key)
with open("test.love", "rb") as f:
data = f.read()
out = bytearray()
for i in range(0, len(data), block_size):
chunk = data[i:i + block_size]
if len(chunk) != block_size:
continue
dec = cipher.decrypt(chunk, None)
if dec is not None:
out.extend(dec)
with open("decrypted_output.bin", "wb") as f:
f.write(out)
然后,我们的output文件设置的后缀为bin,然后放到010查看,开头为504B,其实它是一个ppt文件,改下后缀,打开查看。

四、服务器取证
1.该电脑最早的开机时间是什么(格式:2025/1/1 01:01:01)
答案:2022/2/23 12:23:49
解题思路:查看基本信息-开关机时间

2.服务器操作系统内核版本(格式:1.1.1-123)
答案:3.10.0-1160.119.1.el7.x86_64
解题思路:基本信息-系统信息-查看内核版本

3.除系统用户外,总共有多少个用户(格式:1)
答案:3
解题思路:查看用户列表

4.分析起早王的服务器检材,Trojan服务器混淆流量所使用的域名是什么(格式:xxx.xxx)
答案:wyzshop1.com
解题思路:查看历史命令可以看到配置文件地址,root下的,查看得到域名

5.分析起早王的服务器检材,Trojan服务运行的模式为:
答案:nat
解题思路:example里的nat和上图几乎一样
6.关于 Trojan服务器配置文件中配置的remote_addr 和 remote_port 的作用,正确的是:
答案:代理流量转发到外部互联网服务器
解题思路:上面说到过混淆流量,可以选A
六、流量分析
1.请问侦查人员是用哪个接口进行抓到蓝牙数据包的(格式:DVI1-2.1)
答案:COM3-3.6
解题思路:打开BLE流量包随便一条流量就可以看到接口

2.起早王有一个用于伪装成倩倩耳机的蓝牙设备,该设备的原始设备名称为什么(格式:XXX_xxx 具体大小写按照原始内容)
答案:Flipper_123all
解题思路:往下面翻可以看到device name.

3.起早王有一个用于伪装成倩倩耳机的蓝牙设备,该设备修改成耳机前后的大写MAC地址分别为多少(格式:32位小写md5(原MAC地址_修改后的MAC地址) ,例如md5(11:22:33:44:55:66_77:88:99:AA:BB:CC)=a29ca3983de0bdd739c97d1ce072a392 )
答案:97d79a5f219e6231f7456d307c8cac68
解题思路:按上题那条流量可以看到一个MAC地址:80:e1:26:33:32:31
然后语法过滤一下:btle.advertising_address ==80:e1:26:33:32:31
可以看到有一段是断了的。我们再去找中间的,可以找到新的MAC地址:80:e1:26:35:32:31


4.流量包中首次捕获到该伪装设备修改自身名称的UTC+0时间为?(格式:2024/03/07 01:02:03.123)
答案:2025/04/09 02:31:26.710
解题思路;过滤frame contains "QQ_WF_SP8OON",查看第一条流量时间

5.起早王中途还不断尝试使用自己的手机向倩倩电脑进行广播发包,请你找出起早王手机蓝牙的制造商数据(格式:0x0102030405060708)
答案:0x0701434839313430
解题思路:找包含制造商的流量。

6.起早王的真名是什么(格式:Cai_Xu_Kun 每个首字母均需大写 )
答案:Wang_Qi_Zhao
解题思路:net-a跑
7.起早王对倩倩的电脑执行了几条cmd里的命令(格式:1 )
答案:7
解题思路:提取
cmd
whoami
net user
net user qianqianwoaini$ abcdefghijkImn /add
net localgroup administrators qianqianwoaini$ /add
net user qianqianwoaini$ /delCGIKLLMMLLJJHHHFECB
net localgroup administrators qianqianwoaini$ /add
rundll32 url.dll,FileProtocolHandler https"//fakeupdate.net/win10ue/bsod.html
8.倩倩电脑中影子账户的账户名和密码为什么(格式:32位小写md5(账号名称_密码) ,例如md5(zhangsan_123456)=9dcaac0e4787b213fed42e5d78affc75 )
**答案:**53af9cd5e53e237020bea0932a1cbdaa
**解题思路: **qianqianwoaini$, abcdefghijkImn.
9.起早王对倩倩的电脑执行的最后一条命令是什么(格式:32位小写md5(完整命令),例如md5(echo "qianqianwoaini" > woshiqizaowang.txt)=1bdb83cfbdf29d8c2177cc7a6e75bae2 )
答案:0566c1d6dd49db699d422db31fd1be8f
**解题思路:命令-rundll32 url.dll,FileProtocolHandler **https://fakeupdate.net/win10ue/bsod.html 注:没有AI部分