2026 第四届盘古石杯 2026 团队赛

2026第四届盘古石杯韦明辉手机+笔记APK

围绕 2026 第四届盘古石杯 的公开复盘与解题记录。

作者:DyNooob 发布日期:2026-06-08 113 次阅读

韦明辉手机部分

请分析韦明辉手机,韦明辉手机的安卓ID是?[答案格式:1153f6447b96d02a]

2183f6447b96d07a image.png

请分析韦明辉手机,韦明辉曾搜索过关于电脑远控的记录,请问使用的什么浏览器?[答案格式:谷歌]

百度 image.png

请分析韦明辉手机,韦明辉曾用过一款笔记app,请问笔记应用的包名是?[答案格式:com.app.app]

根据后面题目,判断为com.notevault.app

韦明辉笔记APP部分

请分析韦明辉手机,笔记应用的用户密码是?[答案格式:Abc123456]

Wei123123

image.png 可以看到加密流程:

用户输入 password -> 计算 base64(sha256(password+salt)) -> 对比 xml 中的密码

题目给了密码格式 Abc123456,且存在Salt,故可以用hashcat进行爆破 优先对得到的加密密码进行base64解码,然后转为hex(hashcat支持格式) 最后将得到的hex和salt放在hash.txt中,并用掩码模式进行爆破

echo 'd50d13be3f7f18b685f9c4cc1fed9cf33f227865779f82fe8f249464b5817147:etmLYLvSIJn2mzgC' > hash.txt
hashcat -m 1410 -a 3 hash.txt '?u?l?l?d?d?d?d?d?d'

image.png

请分析韦明辉手机,笔记应用中,公共笔记有几条?[答案格式:1]

3

image.png

请分析韦明辉手机,笔记应用公共笔记数据库名称是?[答案格式:adb.db]

notevault.db

在database下发现一个数据库 image.png

请分析韦明辉手机,存储公开笔记的数据库密码是?[答案格式:Abc_ABC_1234]

NoteVault_DB_SecureKey_2024

image.png 可以看到相关数据库加密的字段 用的是sqlcipher库进行的加密,且密码已经给出了

NoteVault_DB_SecureKey_2024

image.png

直接解密即可 image.png 最后导出未加密的sqlite数据库进行分析 image.png

分析韦明辉手机中笔记应用,给出电脑c盘的恢复秘钥的前6位?[答案格式:1234565]

067474

image.png

请分析韦明辉手机,笔记应用隐私空间的密码是?[答案格式:123456]

8374723

在应用目录可以看到有一个单独的文件夹为private_space_db,推测为隐私空间的数据库。根据这个可以在app中找到相关逻辑

image.png 先找怎么进隐私空间 image.png 可以推测应该是在关于界面点击tvVersion 6次,该控件为版本号 image.png 其下方就是密码验证函数,跟踪跳转 image.png 得到 image.png 重点关注

return (key == null || (storedPassword = AESUtil.decryptWithPassword(storedEncrypted, key)) == null || !storedPassword.equals(password)) ? false : true;
  • 如果 key 是 null → 验证失败,返回 false
  • 用 key 去 AES 解密存储的加密密码 → 如果解密失败(得到 null) → 验证失败,返回 false
  • 解密出来的密码 和 用户输入的密码 不相等 → 验证失败,返回 false
  • 以上都不成立 → 验证成功,返回 true

跟踪getConfig,在前一步解密出的公共笔记数据库可以得到key image.png image.png 同时在xml中可以得到private_space_password image.png 最终可以获得如下数据

storedEncrypted = "zkTkORgxvbRQI9ilBSelZ172slPhlMGkkZFy7oCOb+NJxOgV0OHi5GK9hKoV0hNsD3s/"
key = "e7GVttnoeahmWeFc"

查看加密函数 image.png

很经典的AES-GCM 直接拿ai写了解密脚本

import base64
import hashlib
from cryptography.hazmat.primitives.ciphers.aead import AESGCM

storedEncrypted = "zkTkORgxvbRQI9ilBSelZ172slPhlMGkkZFy7oCOb+NJxOgV0OHi5GK9hKoV0hNsD3s/"
password = "e7GVttnoeahmWeFc"

combined = base64.b64decode(storedEncrypted)

salt = combined[0:16]
iv = combined[16:28]
encrypted_bytes = combined[28:]

key = hashlib.pbkdf2_hmac(
    "sha256",
    password.encode(),
    salt,
    10000,
    32
)

plaintext = AESGCM(key).decrypt(iv, encrypted_bytes, None)
print(plaintext.decode())
# 8374723

还有一层密码

image.png 继续跳转

image.png

看了一下,同样的逻辑用了一遍 再次输入密码8374723 image.png

请分析韦明辉手机,隐私空间笔记内容使用的什么数据库存储?[答案格式:sqlite]

sqlite

请分析韦明辉手机,隐私笔记数据内容解密秘钥是?[答案格式:Abc_ABC_1234]

同公共空间解密密码 NoteVault_DB_SecureKey_2024

请分析韦明辉手机,打手电话是多少?[答案格式:18036310808]

18067876543

image.png