免责声明:本文为个人技术学习与工程实践笔记,所涉操作仅应在获得授权的环境中进行。因不当使用造成的后果由使用者自行承担。
本次蓝帽杯半决赛采用线下电子取证赛制,以下记录部分题目的分析过程。
1.检材数据开始提取是今年什么时候?(答案格式:04-12 13:26)

09-11 17:21
2.嫌疑人手机 SD 卡存储空间一共多少 GB?(答案格式: 22.5)

24.3
3.嫌疑人手机设备名称是?(答案格式:adfer)

4.嫌疑人手机 IMEI 是?(答案格式:3843487568726387)

5.嫌疑人手机通讯录数据存放在那个数据库文件中?(答案格式:call.db)

6.嫌疑人手机一共使用过多少个应用?(答案格式:22)

7.测试 apk 的包名是?(答案格式:con.tencent.com)

8.测试 apk 的签名算法是?(答案格式:AES250)

9.测试 apk 的主入口是?(答案格式:com.tmp.mainactivity)

10.测试 apk 一共申请了几个权限?(答案格式:7)

11.测试 apk 对 Calllog.txt 文件内的数据进行了什么加密?(答案格式:DES)

12.10086 对嫌疑人拨打过几次电话?(答案格式:5)

13.测试 apk 对短信记录进行了几次加密?(答案格式:5)
jadx 打开,分析源代码,在 MainActivity 中

14.测试 apk 对短信记录进行加密的秘钥是?(答案格式:slkdjlfslskdnln)


15.嫌疑人在 2021 年登录支付宝的验证码是?(答案格式:3464)
重新登录并捕获 key 后,用 AES 解密即可直接得到结果

得到验证码为 9250

防御启示
- 移动端敏感数据不应只依赖硬编码密钥的对称加密:本题中通话记录与短信均以写在 APK 内的固定密钥加密,反编译即可还原密钥,安全性等同于明文存储。密钥应放入 Android Keystore、由服务端按设备下发,并支持轮换。
- 危险权限遵循最小化原则:APK 申请的权限数量本身体现了其数据接触面。应用应仅为必要功能申请通讯录、短信等权限,并在运行时说明用途,便于审计与合规核查时比对。
- 取证依赖的数据源需要完整性与可追溯性:本题的时间线来自数据库文件与文件系统时间戳,一旦被覆盖或篡改,结论即不可信。终端侧应固定关键文件哈希并定期备份,日志集中留存。
- 应用应校验自身签名并保留新版签名方案:APK 被二次打包后签名必然变化,客户端与服务端可校验签名摘要,分发渠道加强审核,防止应用被植入逻辑后重新分发。
- 本地解密行为应留痕:只要数据在客户端解密,密钥与算法痕迹就无法完全隐藏。若业务必须本地加密,应绑定设备能力并记录解密行为日志,以便对异常读取做检测。